为MySQL台湾服务器配置复制非常简单。但由于场景不同,基本的步骤还是有所差异。最基本的场景是新安装的主库和备库,总的来说分为以下儿步:
1. 在每台台湾服务器上创建复制账号。
2.配置主库和备库。
3.通知备库连接到主库并从主库复制数据。
这里我们假定大部分配r来用默认值即可,在主库和备库都是全新安装非且拥有同样的数据(胶认MySQL数据库)时这样的假设是合理的。接下来我们将展示如何一步步配置复制:假设有服务器server1 (IP 地址12.168.0.1)和服务器server2 (IP 地址12168.0.2),我们将解释如何给一个已经运行的服务器配置备库,并探讨推荐的复制配置。
创建复制账号
MySQL会赋予些特殊的权限给复制线程。 在备库运行的I/O线程会建立一个到主库的TCPIP连接,这意味着必须在主库创建一个用户,并赋子其合适的权限。备库I/O线程以该用户名连接到主库并读取其二进制日志。通过如下语句创建用户账号:
mysq1> GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.*
-> TO repl@' 192.168.0.%' IDENTIFIED BY 'p4ssword',;
我们在主库和备库都创建该账号。注意我们把这个账户限制在本地网络,因为这是一个特权账号(尽管该账号无法执行select或修改数据,但仍然能从二进制日志中获得一些数据)。
复制账户事实上只需要有主库上的REPLICATION SLAVE 权限,并不一定需要每一端服务器都有REPLICATION CLIENT 权限,那为什么我们要把这两种权限给主/备库都赋予呢? 这有两个原因 :
(1)用来监控和管理复制的账号需要REPLCATON CLIENT权限,并且针对这两种目的使用同一一个账号更加容易(而不是为某个目的单独创建一个账号)。
(2)如果在主库上建立了账号,然后从然后从主库将数据克隆到备库上时,备库也就设置好了一变成主库所需要的配置。这样后续有需要可以方便地交换主备库的角色。