我可以从 mysqldump 备份中恢复“mysql”系统数据库以及另一个数据库吗?

我可以从 mysqldump 备份中恢复“mysql”系统数据库以及另一个数据库吗?

基本上,我所做的是:

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

以后再做是否明智

mysql -uroot -pxxx < Backup.sql

或者我需要采取特殊的预防措施?我正在运行 5.1.73-community。

答案1

可以将 mysql 系统数据库从一个 MySQL 实例 mysqldump 到另一个 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 的每次主要版本发布而变化

请参阅我的帖子,了解为什么以及如何单独转储系统表

答案2

导入 mysql 转储文件“backup.sql”将恢复系统数据库“mysql”以及数据库 customappdb。如果现有系统“mysql”数据库已存在,它将删除该数据库。

关于 mysql 的导入命令,您的语法是正确的,您可以继续。

相关内容