master数据为1,3,5… slave 数据为2,4,6… 这样相互复制的时候数据就不会冲突

1.master配置 my.cnf (注意my.cnf最好是vim新建,不要上传,可能有权限问题不被加载)

  1. server-id=103310
  2. log-bin=mysql-bin #开启复制功能
  3. auto_increment_increment=2 #ID步长为2
  4. auto_increment_offset=1 #表示自增长字段从哪个数开始
  5. lower_case_table_names=1
  6. #要同步的mstest数据库,要同步多个数据库
  7. #binlog-do-db=mstest
  8. #binlog-ignore-db=mysql //要忽略的数据库

2.slave配置 my.cnf

  1. server-id=113310
  2. log-bin=mysql-bin #开启复制功能
  3. auto-increment-increment=2 #ID步长为2
  4. auto-increment-offset=2 #表示自增长字段从哪个数开始
  5. lower_case_table_names=1
  6. #replicate-do-db = wang #需要同步的数据库
  7. #binlog-ignore-db = mysql
  8. #binlog-ignore-db = information_schema

3.重启后查看是否配置成功

show variables like ‘%log_bin%’;
show global variables like “%log%”;
image.png

4.在master mysql添加权限

  1. GRANT REPLICATION SLAVE,FILE,REPLICATION CLIENT ON *.* TO 'repluser'@'%' IDENTIFIED BY '123456';
  2. FLUSH PRIVILEGES;

5.在master上查看master的二进制日志

show master status
image.png

6.在slave中设置master的信息

  1. CHANGE MASTER TO master_host = '192.168.0.11',
  2. master_port = 3310,
  3. master_user = 'repluser',
  4. master_password = '123456',
  5. master_log_file = 'mysql-bin.000001',
  6. master_log_pos = 154;

7.开启slave,启动SQL和IO线程

  1. start slave;

8.查看slave的状态

  1. show slave status;

9. 查看进程信息

  1. SHOW PROCESSLIST;

image.png
image.png