Назад | Перейти на главную страницу

Могу ли я восстановить системную базу данных «mysql» вместе с другой из резервной копии mysqldump?

По сути, я сделал следующее:

mysqldump -uroot -pxxx <some_options> --result-file Backup.sql --databases mysql customappdb

Разумно ли позже сделать

mysql -uroot -pxxx < Backup.sql

Или мне нужно принять особые меры предосторожности? Я запускаю 5.1.73-сообщество.

Единственный способ без каких-либо проблем выполнить mysqldump системную базу данных mysql из одного экземпляра MySQL в другой - это если основные версии MySQL одинаковы.

  • Вы можете mysqldump системные таблицы MySQL 5.0.x и загрузить в MySQL 5.0.x
  • Вы можете mysqldump системные таблицы MySQL 5.1.x и загрузить в MySQL 5.1.x
  • Вы можете mysqldump системные таблицы MySQL 5.5.x и загрузить в MySQL 5.5.x
  • Вы можете mysqldump системные таблицы MySQL 5.6.x и загрузить в MySQL 5.6.x

Вы не можете сделать это с более поздними или более низкими версиями, потому что в mysql.user макет таблицы меняется с каждым основным выпуском MySQL.

Смотрите мои сообщения о том, почему и как отдельно выгружать системные таблицы

Импорт файла дампа mysql 'backup.sql' восстановит системные базы данных "mysql" вместе с базой данных customappdb. Это приведет к удалению существующей системной базы данных "mysql", если она уже существует.

Что касается команды импорта для mysql, ваш синтаксис правильный, и вы можете продолжать.