一尘不染

用不同的名称恢复mysql数据库

mysql

我们如何从 mysqldump 文件中恢复具有不同名称的 mysql 数据库。我不想打开转储文件并对其进行编辑。还有其他更好的方法吗?


阅读 106

收藏
2022-10-10

共1个答案

一尘不染

您可以让 mysqldump 以不创建或选择数据库的方式创建转储。

示例:您正在转储数据库 db1 并将其加载到数据库 db2

这会将 CREATE DATABASE 和 USE 命令放入转储中

mysqldump -u... -p... --routines --triggers --databases db1 > /root/db1.sql

不会放入 CREATE DATABASE 和转储中的 USE 命令(这是你想要的

mysqldump -u... -p... --routines --triggers db1 > /root/db1.sql

您可以通过以下四 (4) 种方式之一将其加载到另一个数据库(例如 db2)中:

选项1

$ mysqldump -u... -p... --routines --triggers db1 | mysql -u... -p... -A -Ddb2

选项 2

$ mysqldump -u... -p... --routines --triggers db1 > /root/db1.sql
$ mysql -u... -p... -A -Ddb2 < /root/db1.sql

选项 3

$ mysqldump -u... -p... --routines --triggers db1 > /root/db1.sql
$ mysql -u... -p... -A -Ddb2
mysql> source /root/db1.sql

选项 4

$ mysqldump -u... -p... --routines --triggers db1 > /root/db1.sql
$ mysql -u... -p... -A
mysql> use db2
mysql> source /root/db1.sql

试试看 !!!

2022-10-10