我有两个共享服务器(服务器1和服务器2)和一个专用服务器。在专用服务器中,我正在运行一个脚本,该脚本会将数据插入到服务器1。

现在,我想每个月将所有数据从服务器1同步到服务器2(基本上保留备份数据库)

对于服务器1和2,我没有root访问权限。因此,我必须在专用服务器中执行此操作。

有什么办法可以使用mysql -host -u -p comment ??

如果还有其他想法,您能帮我吗?

最佳答案

由于问题表明要将所有数据从一台服务器同步到另一台服务器,我认为您可以使用涉及mysqldump的相对简单的解决方案。

我认为您可以在专用服务器上完成所有操作:

mysqldump --user=<username> --password=<password> --host=<server 1 hostname> --port=<port> --add-drop-database <database name> > dump.sql


<username><password><port><server 1 hostname>替换为服务器1的连接详细信息。替换为要复制到服务器2的服务器1上的数据库的名称。如果要复制所有数据库,用--all-databases选项替换。

这将在当前目录中创建一个名为dump.sql的文件。然后可以将其加载到服务器2:

mysql --user=<username> --password=<password> --host=<server 2 hostname> --port=<port> <database name> < dump.sql


<username><password><port><server 2 hostname>替换为服务器2的连接详细信息。

这将获取dump.sql文件,并将其加载到服务器2上的数据库中。这将删除服务器2上的数据库-因此所有现有数据都将替换为dump.sql中的数据。

检查mysqldump的选项(关于删除数据库,删除表等),并定制以上命令以适合您的情况。我认为,如果正确连接,甚至可以绕过中间文件,并使用套接字将服务器1上的mysqldump连接到服务器2上的mysql。

为了解决此问题的“自动化”部分,您可以在cron下运行上述命令,并安排它们在每月的第一天的适当时间运行。

关于python - 如何在两个远程数据库之间同步MySQL数据库(不使用MySQL数据库复制技术),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12312514/

10-11 07:39
查看更多