我阅读了一些关于将mysql数据库从1台服务器恢复和复制到另一台服务器的主题
但我想确保它可能对我的制作网络应用产生影响。
所以基本上就是我的情况:
服务器A有一个名为enrollment的数据库。
服务器B有一个名为enrollment的数据库。
通过命令行,我该如何执行以下操作:
1.创建'注册'的备份副本在服务器A上
2。删除服务器A上的数据库注册
第3。将数据库注册从服务器B复制/转储到服务器A(我是否需要ssh或复制sql文件或者可以通过mysql执行此操作?)
数据库大小约为64 MB。
在执行上述操作时,生产网络应用会受到多长时间的影响?
基于我的研究,这是我的想法,但我想要小心,因为我正在处理生产数据
在服务器B上,mysqldump --databases enrollment > enrollment_backup.sql
从服务器B到服务器A的scp enrollment_backup.sql
drop database enrollment
mysqldump < enrollment_backup.sql
注意:我在服务器A&amp;服务器B.
答案 0 :(得分:0)
您必须在最后一步执行 drop database : 1)备份服务器A. 2)在服务器B上转储数据A. 3)将Web应用程序更改为指向B. 4)如果一切正常,你可以放弃服务器A
答案 1 :(得分:0)
您可以将任何远程服务器转储到本地服务器。甚至任何远程服务器到任何其他远程服务器。
mysqldump -hproduction -uroot1 -p --add-drop-database --add-drop-table --extended-insert --lock-all-tables --routines --databases mydatabase | \
mysql -hlocalhost -uroot2 -ppassword
这将使用用户production
连接到服务器root1
,并通过提示输入密码。 1}}数据库(您也可以提供数据库列表)将被转储。
然后使用用户mydatabase
和密码localhost
将包含所有命令的标准输出重定向到在root2
(也可以是任何其他主机)上运行的另一个MySQL服务器。第二个密码必须在命令行上给出。
高级可能性:
password
或mysqldump
通过mysql
从单个选项文件中读取密码