mysql 主从_第1张图片


配置主(master)

vi /etc/my.cnf
       [mysqld]
       log-bin=mysql-bin   //[必须]启用二进制日志

       server-id=1     //[必须]服务器唯一ID,默认是1,一般取IP最后一段

         两个可选参数(2选1):
                        binlog-do-db=db1,db2 #需要同步的库

                        binlog-ignore-db=db1,db2 #忽略不同步的库

mysql:

grant replication slave on *.* to 'repl'@'127.0.0.1' identified by '123123';    (127.0.0.1是从服务器的IP) 

或者用这句:  mysql>GRANT REPLICATION SLAVE ON *.* to 'mysync'@'%' identified by 'q123456';

flush tables with read lock; 

show master status; #一定要记住前两列的内容,一会会用到 


修改从服务器slave:

vi /etc/my.cnf
       [mysqld]
       log-bin=mysql-bin   //[必须]启用二进制日志

       server-id=2     //[必须]服务器唯一ID,默认是1,一般取IP最后一段

        两个可选参数(2选1):
           binlog-do-db=db1,db2 #需要同步的库       (可有,可无)

           binlog-ignore-db=db1,db2 #忽略不同步的库   (可有,可无)

mysql:

 stop slave;

change master to master_host='192.168.6.28',master_user='root',master_password='ixmsoft',master_log_file='mysql-bin.000001' ,master_log_pos=106;

change master to master_host='主服务器',master_user='mysql用户名',master_password='mysql服务密码',master_log_file='File值' ,master_log_pos=Postion值;

start slave;


主上: unlock tables;   


从上查看从的状态: show slave status\G;


mysql 主从_第2张图片


测试主从:


主上新建一条数据,

 create table hi_tb(id int(3),name char(10));

mysql 主从_第3张图片


从上查看:

mysql 主从_第4张图片



wKioL1fMDMDRN4sxAABFr4b-Ukg694.png


建议: MySQL主从机制比较脆弱,谨慎操作。如果重启master,务必要先把slave停掉,也就是说需要在slave上去执行 slave stop 命令,然后再去重启master的mysql服务,否则很有可能就会中断了。当然重启完后,还需要把slave给开启 slave start.




主主:

master:

 auto-increment-increment = 2   //每次增长2
 auto-increment-offset = 1  //设置自动增长的字段的偏移量,即初始值为2


salve;

 auto-increment-increment = 2  //每次增长2
 auto-increment-offset = 2 //设置自动增长的字段的偏移量,即初始值为2