mysql 主从复制配置

环境:已经在centos下安装好mysql,安装参考:http://www.cnblogs.com/bookwed/p/5896619.html,安装好主数据库后,可以克隆一份,注意修改ip等。

  192.168.137.10 主

  192.168.137.11 从

1、修改master配置,vi /etc/my.cnf,重启服务

log_bin=mysql-bin    #启用二进制日志
server_id =10          #服务器唯一ID,随便写,不要重复   
lower_case_table_names = 1 #不区分大小写

2、修改slave配置,vi /etc/my.cnf,重启服务

log_bin=mysql-bin  
server_id =11
lower_case_table_names = 1

3、创建用户并授权,在master上执行

   useradd cat

   grant replication slave on *.* to 'cat'@'%' identified by '123456';   

   flush privileges;

4、master上设置读锁定

  flush tables with read lock;

5、查看master上的bin-log日志和偏移量

  show master status

6、用dump备份master

  mysqldump -uroot -proot test > test.sql

  unlock tables;  #备份完后,master恢复写操作

7、把备份恢复到slave数据库上

  mysql -uroot -proot test < test.sql

8、slave执行手动同步

  mysql>change master to
    master_host='192.168.137.10',
    master_user='cat',
    master_password='123456',
    master_port=3306,
    master_log_file='mysql-bin.000002',  #参考第5步的值
    master_log_pos=716  #参考第5步的值

  mysql>start slave;  #启动从服务器复制功能

9、检查状态

   

   标红的部分必须正常运行,即YES状态,否则都是错误的状态(如:其中一个NO均属错误)

    另外一个命令:show processlist

10、主从测试

  在master上,创建一个库、建立一个表,插入几条数据,看是否slave上已同步过来。

说明:

  1、有几步可以忽略,4、6、7这几步是在模拟生产环境下的数据库处理,主要是为了了解一下在master上已有数据的情况做主从复制的整个流程,如果是自己测试,这几步可以忽略,因为主库本来就是自己在操作,所以不可能有别的人对数据库做更新操作,也就不用再备份恢复了。

  2、修改从属配置,即第8步,先stop slave,再执行一遍第8步。

原文地址:https://www.cnblogs.com/bookwed/p/5909296.html