我阅读了一些关于将mysql数据库从1台服务器还原到另一台服务器的主题。
但我想确保它可能会对我的生产网络应用程序产生什么影响。
所以基本上我的情况是:
服务器A有一个名为“注册”的数据库。
服务器B有一个名为“注册”的数据库。
通过命令行,如何执行以下操作:
1.在服务器A上创建“注册”备份副本
2.在服务器A上删除数据库注册
3.从服务器B复制/转储数据库注册到服务器A(我需要ssh或复制文件,还是可以通过mysql完成?)
数据库大小约为64 MB。
当我做上述工作时,生产web应用程序会受到多长时间的影响?
根据我的研究,这是我的想法,但我想要小心,因为我正在处理生产数据。
mysqldump --databases enrollment > enrollment_backup.sql
drop database enrollment
mysqldump < enrollment_backup.sql
注:我在服务器A&服务器B上有根访问权限。
发布于 2015-08-03 14:15:27
您必须在最后一步中执行drop数据库:1)备份服务器A2)将数据转储到服务器B3)将web应用程序更改为指向B4)如果一切正常,可以删除服务器A
发布于 2015-08-07 18:54:28
您可以将任何远程服务器转储到本地服务器。甚至任何远程服务器到任何其他远程服务器。
mysqldump -hproduction -uroot1 -p --add-drop-database --add-drop-table --extended-insert --lock-all-tables --routines --databases mydatabase | \
mysql -hlocalhost -uroot2 -ppassword
这将使用用户production
和您将通过提示符输入的密码连接到服务器root1
。数据库mydatabase
(您也可以给出一个数据库列表)将被转储。
然后,使用用户MySQL和密码password
将所有命令的标准输出重定向到运行在localhost
上的另一个root2
服务器(也可以是任何其他主机)。第二个密码必须在命令行上提供。
先进的可能性:
mysqldump
或mysql
通过--defaults-extra-file
从单个选项文件中读取密码。https://stackoverflow.com/questions/31797611
复制相似问题