Как сделать восстановление базы данных
Добавлено: Вт мар 31, 2020 5:10 pm
Меня спрашивают, как я делаю восстановление базы данных!
Наиболее удобным для себя и оптимальным считаю использование команды mysqlcheck серез консоль
Заходим на сервер через SSH. После авторизации вводим команду
Откроется окно для ввода рутового пароля доступа к базам данных. Ввод и ждем окончания операции.
Все!
Так же рекомендую проверить вашу базу на наличие AUTO_INCREMENT. он должен быть включен во всех таблицах где присутствует первичный ключь (желтого цвета). Обычно это поля ID. Если AUTO_INCREMENT не включен, тогда у поля с первичным ключем жмем Изменить и отмечаем чекбокс у AUTO_INCREMENT и жмем Сохранить.
Не лишне сказать, что удобнее все операции с базами данных выполнять череp phpMyAdmin, кроме восстановления. Как то оно там не так работает. Особенно для таблиц InnoDB.
Если ваша MySQL н может стартануть из за проблемы с базой данных, тогда вставьте в конфигурационный файл мускула (обычно /etc/my.cnf строку в секцию mysqld
Параметру innodb_force_recovery ставится в соответствие числовое значение от 1 до 6. С увеличением значения MySQL становится менее чувствителен к целостности таблиц и запускается. Мне чаще помогает =5 Более подробно можно почитать здесь https://server-gu.ru/innodb-force-recovery/
После запуска MySQL восстанавливаю базу командой из консоли и потом удаляю или комментирую строку innodb_force_recovery символом #, вот так
И конечно же не забываем перезапустить MySQL.
Наиболее удобным для себя и оптимальным считаю использование команды mysqlcheck серез консоль
Заходим на сервер через SSH. После авторизации вводим команду
Код: Выделить всё
mysqlcheck --no-defaults -u root -p --all-databases --socket=/var/run/mysqld/mysql.sock
Откроется окно для ввода рутового пароля доступа к базам данных. Ввод и ждем окончания операции.
Все!
Так же рекомендую проверить вашу базу на наличие AUTO_INCREMENT. он должен быть включен во всех таблицах где присутствует первичный ключь (желтого цвета). Обычно это поля ID. Если AUTO_INCREMENT не включен, тогда у поля с первичным ключем жмем Изменить и отмечаем чекбокс у AUTO_INCREMENT и жмем Сохранить.
Не лишне сказать, что удобнее все операции с базами данных выполнять череp phpMyAdmin, кроме восстановления. Как то оно там не так работает. Особенно для таблиц InnoDB.
Если ваша MySQL н может стартануть из за проблемы с базой данных, тогда вставьте в конфигурационный файл мускула (обычно /etc/my.cnf строку в секцию mysqld
Код: Выделить всё
#[mysqld]
innodb_force_recovery = 1
После запуска MySQL восстанавливаю базу командой из консоли и потом удаляю или комментирую строку innodb_force_recovery символом #, вот так
Код: Выделить всё
#innodb_force_recovery = 5