准备两台机器,都运行MySQL5.6。
1、配置master,在[mysqld]组下添加log_bin="D:/code/mysql_data/binlog/mysql-bin.log",然后启动MySQL,我这失败,查看日志(log-error="mysql_error_log.err"指定文件名,在datadir="D:\code\mysql_data\data\"目录下),提示File 'D:\code\mysql_data\binlog\mysql-bin.index' not found,手动创建该文件;
2、创建用于复制的用户grant replication slave on *.* to 'rep'@'%' identified by 'rep';
3、查看master当前复制位置show master status;
4、修改slave的my.ini,在[mysqld]组下添加server-id=2,master里已经设置server-id=1;
5、用slave的mysql的root登录,执行change master to master_host = '10.209.128.232',master_user='rep',master_password='rep',master_log_file='mysql-bin.000001',master_log_pos=378; 其中master_log_file和master_log_pos是在master上show master status得到的;
6、在slave上start slave就可以实现主从同步。
在slave上可以用show slave status可查看slave状态,若Slave_IO_Running和Slave_SQL_Running都是Yes,则可以成功复制,如果复制出错,比如sql命令重放时违反主键唯一,slave就不会再复制。
在master上show binlog events可以查看二进制事件。