设置主数据库
第一步:修改主数据库my.ini配置:
Server-id = 1 这是数据库ID,此ID是唯一的,ID值不能重复,否则会同步出错;
log-bin = mysql-bin 二进制日志文件,此项为必填项,否则不能同步数据;如果不取名字的话,那么就会以计算机的名字加编号来命名二进制文件;
binlog-do-db = testcreate 需要同步的数据库,如果还需要同步另外的数据库,那么继续逐条添加,如果不写,那么默认同步所有的数据库;
binlog-ignore-db = mysql 不需要同步的数据库;
修改完成之后重启mysql服务。
第二步:添加主数据库用于同步的账号:
给主数据库授权一个可以进行复制的用户,执行命令:grant replication slave on *.* to 'slave'@'%' identified by '***';
第三步:显示主数据库的同步信息:
设置从数据库
第一步:修改从据库my.ini配置:
同上;
第二步:在mysql下执行stop slave;命令,停止slave服务;
mysql> change master to
-> master_host='192.168.1.189',
-> master_user='slave',
-> master_password='***',
-> master_log_file='mysql-bin000014.000001',
-> master_log_pos=107;
注意:这里的master_log_file,master_log_pos的值要和master的值一致。否则会无法同步。
执行start slave;命令,启动服务。
第三步:验证是否同步:
执行show slave status\G;
得到如下结果则说明同步成功。
也可以在主数据库被同步的表中做crud操作,看从数据库中的数据有无变化。
报错说明
主从同步报错Fatal error: The slave I/O thread stops because master and slave have equal MySQL server。
解决:找到data文件夹下的auto.cnf文件,修改里面的uuid值,保证各个db的uuid不一样,重启db即可。
如有侵权请联系本人删除哦~~~
网友评论