一、主数据库(master)配置如下:
1、数据库IP:192.168.1.1
2、MySql版本 MySQL Server 5.5 (注意5.1.7以下版本无法采用该配置方式)
3、在mysql 配置文件my.ini中的[mysqld]节点增加如下参数:
(在port=3306参数下方追加即可)
server-id=200 #配一个唯一的ID编号,
log-bin=mysql-bin #指定日志类型
relay-log=relay-bin # 定义relay-log的文件名 (默认保存在数据目录下)
relay-log-index=relay-bin-index #定义relay-log-index的文件名
4、保存然后重启主数据库(master)服务。
二、从数据库(Slave )配置如下:
1、数据库IP:192.168.1.2
2、MySql版本 MySQL Server 5.5 (注意5.1.7以下版本无法采用该配置方式)
3、在mysql 配置文件my.ini中的[mysqld]节点增加如下参数:
(在innodb_thread_concurrency参数下方追加即可,不能再port=3306,否则会提示如下错误:
ERROR 1200 (HY000): The server is not configured as slave; fix in config file or with CHANGE MASTER TO)
本人在mysqld节点下的port=3306参数下方增加如下参数出现上述错误。有知道具体为何的可以留言告诉下!
server-id = 210 #配一个唯一的ID编号,
replicate-do-db = dbname #同步Master的数据库名字
4、保存然后重启从数据库(Slave )服务。
5、打开从数据库(Slave )MySQL 5.5 Command Line Client命令框,输入密码登录后输入如下命令:
mysql> stop slave;
mysql> change master to master_host='192.168.1.1',master_user='root',master_password='123456';
mysql> start slave;#如果运行此语句提示错误,多半是从数据库(Slave )my.ini配置参数有问题,请仔细检查
mysql> show slave status;#查看这两项是否为YES,yes为正常。Slave_IO_Running: Yes Slave_SQL_Running: Yes
如果Slave_SQL_Running:NO解决办法如下:
mysql> slave stop;
mysql> set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
mysql> slave start;
set GLOBAL SQL_SLAVE_SKIP_COUNTER=N,用来跳过备机的一条或N条出错的复制语句。然后重新start slave即可。
也可以参考如下解决办法:http://blog.itpub.net/22664653/viewspace-716757/
以上方式经过实际测试,如果有更好的办法请推荐给我!~~