Связаться со мной:
2 заметки с тегом

mysqldump

Восстановление поврежденных innodb таблиц

При повреждении innodb таблиц мускуль не стартует, что создает определенные сложности для ремонта таблиц.
Чтобы запустить мускуль нужно вписать в my.cnf

innodb_force_recovery = 1
innodb_purge_threads = 0

Затем стартуем mysql. Он запустится в режиме в котором таблицы можно читать, но нельзя редактировать. И делаем дамп всех баз

mysqldump -u root -p --all-databases > dump.sql

Теперь идем в каталог /var/lib/mysql и удаляем там все каталоги кроме mysql и performance_schema, файлы ib_logfile* и ibdata* тоже сносим.
Теперь убираем из my.cnf

innodb_force_recovery = 1
innodb_purge_threads = 0

И рестартуем mysql в нормальном режиме.
Теперь вернем все базы обратно

cat dump.sql | mysql -u root -p
25 мая   innodb   mariadb   mysql   mysqldump

Дампы всех баз mysql

Сделать дампы всех баз данных пользователя, каждую базу в отдельный дамп:

for i in `mysql -u $USER -p$PASSWORD -e'show databases;' | \
 grep -v performance_schema | grep -v information_schema | grep -v mysql | \
 grep -v Database`; do mysqldump -u $USER -p$PASSWORD $i > /backup/mysql/$i.sql;done
$USER - пользователь mysql
$PASSWORD - пароль пользователя mysql
2015   mysql   mysqldump