Replication
mysql 复制
mysql 同步
Submitted by yejr on 周一, 2007/05/14 - 12:51
os: redhat as4
master: MySQL 4.0.23
slave : MySQL 5.0.37
slave日志中报错信息如下:
060807 11:40:17 [ERROR] While trying to obtain the list of
slaves from the master 'xxx.xxx.xxx:3306', user 'rep' got the
following error: 'Access denied. You need the REPLICATION SLAVE
privilege for this operation'
在master上,执行以下语句查看权限:
mysql>SHOW GRANT FOR 'rep'@'192.168.0.2'\G
*************************** 1. row ***************************
Grants for rep@192.168.0.2: GRANT SELECT, REPLICATION SLAVE ON
*.* TO 'rep'@'192.168.0.2' IDENTIFIED BY PASSWORD 'xxx'
已经授予了 REPLICAION SLAVE 权限了,怎么还会报这个错呢?
Submitted by yejr on 周一, 2007/04/30 - 12:44
在复制中,如果启用参数 replicate-ignore-db / replicate-do-db 后想要让复制正常运行,只需在连接数据库后不执行 "use db" 语句即可,如果是在php中,连接数据库后,不再执行 mysql_select_db() 即可。这是因为复制机制会判断是否使用了 replicate-do(ignore)-db 参数,然后判断当前数据库是否为指定的数据库,如果是,才执行相应的binlog,否则略过。如果不指定数据库的话,就可以忽略这个环节了。
Submitted by yejr on 周二, 2006/05/23 - 08:31
问: master还在运行中,如何在不停止它的情况下配置slave?
答: 需要设计几个选项参数。如果已经有了master的备份并且记录了数据快照二进制日志文件名以及偏移位置(运行 SHOW MASTER STATUS
查看结果),执行以下步骤:
- 确定slave指定了一个唯一的服务器编号。
- 在slave上执行如下语句,把一些选项值改成实际值:
mysql> CHANGE MASTER TO
-> MASTER_HOST='master_host_name',
Submitted by yejr on 周三, 2006/05/17 - 12:47
不管是master还是slave,都要设定 server-id
选项来确定使它们都有各自唯一的同步ID。必须选择 1 到 2^32-1 之间的正整数。例如: server-id=3
。
关于master服务器上可用于控制二进制日志记录的选项详细描述请看"5.9.4 The Binary Log"。
下表描述了slave同步可用的选项,可以在命令行或者配置文件中设定它们。
Submitted by yejr on 周三, 2006/05/17 - 12:46
Submitted by yejr on 周三, 2006/05/17 - 12:45
以下描述了如何快速设置MySQL同步服务器。假设你打算同步全部的数据库,并且之前没有设置过。需要关闭master服务器以完成全部的步骤。
本章描述的过程可以用于一个slave的情况,也可以用于多个slave的情况。
页面
最近评论