①两台机器:Linux_Master:IP(192.168.119.1),MySQL5.6,DB_test;
Windows_Slave:IP(192.168.119.120),MySQL5.6,DB_test;
创建连接账户:grand replication slave on *.* to ‘test_user’@’192.168.119.120’ identified by ‘young’;
②修改master机配置文件:进入ROOT模式
$vim /etc/mysql/my.cnf
[mysqld]
Server_id=1 ##标明是master机
Binlog-do-db=DB_test ##需要同步的数据库(二进制日志记录此数据库)
Binlog-ignore-db=mysql ##需要忽略的数据库(二进制日志忽略此数据库)
Log-bin=mysql-bin ##生成的日志放在哪里
③修改slave机配置文件(program data\mysql\mysql5.7\my.ini)
[mysqld]
Server_id=2 ##标明是slave机
Replicate-do-db=DB_test ##需要同步的数据库(根据此数据库的日志来执行)
Replicate-ignore-db=mysql ##需要忽略的数据库
Log-bin=mysql-bin ##生成的日志放在哪里
Relay_log=mysql-relay-bin ##生成的relay日志在哪
④查看master状态($show master status;记录files值与pos值;)
Slave:(stop slave;change master to master_user=’test_user’,master_password=’young’,master_log_file=’mysql-bin.000000)’,master_log_pos=154;master_host=’192.168.119.1’,master_port=3306; start slave;)
⑤测试是否成功。
1、error1236 主从日志不同步,一般处理方法修改master_log_file/pos;
2、error1593 没有标明复制DB或避开DB,server_uuid相同——修改auto.cnf或两版本至少高于5.6,或添加一些参数,具体未知;
3、从机连不上主机 ·主机防火墙没有打开3306通道——sudo ufw allow 3306;
·用户权限不足;
·ip地址没有搞对;
4、跳过SQL语句:SET GLOBAL SQL_slave_SKIP_COUNTER = n;
5、log event entry exceeded max_allowed_packet 的处理:SET @@global.max_allowed_packet=16777216;(在主从服务器上增加max_allowed_packet 参数的大小).应对主机修改加入大数据报错。
至此基本结束。