gpt4 book ai didi

python - mysql,如何备份数据到另一台机器

转载 作者:行者123 更新时间:2023-11-29 06:15:28 25 4
gpt4 key购买 nike

我在server_1(操作系统是Windows)有一个很大的mysql数据库,我想把server_1中的所有数据复制到server_2(操作系统是Centos)。我尝试将 server_1 中的数据导出到 sql 文件并在 server_2 中获取 sql 文件,但是这会花费很多时间。

我觉得写代码(Pandas)复制数据是一个选择,但是数据很大而且server_1和server_2不在同一个局域网内(他们有私有(private)IP),考虑网络拥塞,也许这不是一个好的选择。

可以帮忙提出一个好的解决方案。谢谢!

最佳答案

通过命令行中的 mysqldump 从您的 Windows 机器上获取备份:

mysqldump -R --triggers --events -uroot -p<root_pass> --all-databases > c:/backup/mybackup.sql

现在将此备份移动到您的 centos 机器上,您可以借助 winscp(如果需要,您可以存档):

现在通过以下命令恢复数据:

mysql -uroot -p<root_pass> < /backup_path/mybackup.sql

更新1

单数据库备份:

mysqldump -R -uroot -proot_pass db1 > c:/backup/db1.sql

多数据库备份:

mysqldump -R -uroot -proot_pass -B db1 db2 db3 > c:/backup/db1_2_3.sql

单/多表备份:

mysqldump -uroot -proot_pass db1 tbl1 tbl2 tbl3 > c:/backup/db1_tbl_1_2_3.sql

此外,由于您的数据库大小为 1 TB,即使通过 mysqldump 也需要时间,因此您也可以简单地复制二进制文件,即使它不是一个干净的程序,但您可以使用它。

第 1 步:停止您的 mysql 服务。

第 2 步:归档您的 mysql 数据目录并移动到目标机器。

第 3 步:停止 taget 机器上的 mysql 服务,备份存在于您的 mysql 数据目录中的所有文件,并从此处清除。

Step4:将备份的mysql目录下的所有数据复制到目标mysql目录。

Step5:通过以下命令更改mysql目录下这些复制文件的权限。

$ chown -R mysql.mysql /var/lib/mysql

注意:假设你的数据目录是/var/lib/mysql

第六步:启动你的mysql服务。

注意:可能您在 mysql 日志文件中收到的警告很少,但 mysql 应该可以正常工作。

关于python - mysql,如何备份数据到另一台机器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36129452/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com