如何在共享主机上即时克隆mySQL

时间:2011-10-27 08:05:15

标签: mysql replication shared-hosting

我在共享服务器上安装了MySQL,并且可以通过phpMyAdmin访问。我想将该数据库连续,实时地克隆到云mySQL数据库(我们专门为这个数据库创建了一个支持Nginx的MySQL服务器)我想创建一个旧的实时克隆,然后更新代码到指向新数据库...

2 个答案:

答案 0 :(得分:1)

您正在寻找的是复制。它可以在一个帖子中涵盖很多选项。

http://dev.mysql.com/doc/refman/5.5/en/replication.html

如果您要通过互联网进行复制,则需要保护它。您的主机可能允许虚拟局域网这样就不会耗尽您的带宽资源。

你应该看一下来自percona的一套很棒的工具是maatkit

https://launchpad.net/percona-toolkit

文档和用法示例 http://www.maatkit.org/doc/

这对其他任务有好处,但它也允许您快速复制实时数据库。

使用实时数据库时,请确保备份是最新的。

答案 1 :(得分:1)

我认为在共享服务器环境中进行MySQL的实时复制会很困难。由于您似乎正在移动数据库服务器,因此我倾向于对数据进行热拷贝,并将其安装在新的数据库服务器上。在获取该副本的同时,您应该打开应用程序的查询日志记录。

然后,您的切换将包括针对新数据库运行已记录的查询(比记录的更快!),最后,在已运行所有已记录查询的位置,切换应用程序的配置以便新数据库使用。

编辑:热拷贝的问题是数据在被复制的同时被写入数据库。这意味着每个表的“上次更新”时间会有所不同。在此基础上,您的应用程序是否可以为每一行设置“last_updated”列?如果是这样,您将能够告诉每个表仍然需要复制哪些记录的查询。