centos mysql-5.6.22 主从复制



环境: centos6.5   mysql-5.6.22  master 192.168.3.11


       centos6.5   mysql-56.22   slave  192.168.3.150



第一步:安装好mysql,源码安装,或者rpm包安装或者yum安装网络都有说明。


第二步:配置文件修改


1、修改主服务器master:

   #vi /etc/my.cnf

       [mysqld]

       log_bin=mysql_bin   //[必须]启用二进制日志

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


2、修改从服务器slave:

   #vi /etc/my.cnf

       [mysqld]

       log_bin=mysql_bin   //[必须]启用二进制日志


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


3、重启两台服务器的mysql


   service mysqld restart  (使用源码安装,请将support-files/mysql.server复制到/etc/init.d/mysql 并用chkconfig --add mysql 添加)


第三步:在master添加授权账号并授权给slave


 #/usr/local/mysql/bin/mysql -u root -p  123456


   mysql>GRANT REPLICATION SLAVE ON *.* to ‘rep1‘@‘192.168.3.150‘ identified by ‘123456‘; //一般不用root帐号,192.168.3.150是slave的ip也可以使用%代表所有ip都可以使用


第四步:登录主服务器的mysql,查询master的状态




mysql> show master status\G


*************************** 1. row ***************************


File: mysql_bin.000006


Position: 2187


Binlog_Do_DB: 


Binlog_Ignore_DB: 


Executed_Gtid_Set: 


1 row in set (0.00 sec)


 注:执行完此步骤后不要再操作主服务器MYSQL,防止主服务器状态值变化



第五步:配置从服务器Slave


mysql>  CHANGE MASTER TO


    -> MASTER_HOST=‘192.168.3.11‘,


    -> MASTER_PORT=3306, 


    -> MASTER_USER=‘rep1‘,


    -> MASTER_PASSWORD=‘123456‘,


    -> MASTER_LOG_FILE=‘mysql_bin.000006‘,


    -> MASTER_LOG_POS=2187;


Query OK, 0 rows affected, 2 warnings (0.05 sec)


第六步:检查从服务器复制功能状态:




mysql> show slave status\G


*************************** 1. row ***************************


Slave_IO_State: Waiting for master to send event

Master_Host: 192.168.3.11

Master_User: rep1

Master_Port: 3306

Connect_Retry: 60

Master_Log_File: mysql_bin.000006

Read_Master_Log_Pos: 2187

Relay_Log_File: lvs-master-relay-bin.000002

Relay_Log_Pos: 1244

Relay_Master_Log_File: mysql_bin.000006

Slave_IO_Running: Yes   //Yes表示连接正常

Slave_SQL_Running: Yes    //Yes表示连接正常

Replicate_Do_DB: 

Replicate_Ignore_DB: 

Replicate_Do_Table: 

Replicate_Ignore_Table: 

Replicate_Wild_Do_Table: 

Replicate_Wild_Ignore_Table: 

Last_Errno: 0

Last_Error: 

Skip_Counter: 0

Exec_Master_Log_Pos: 2187

Relay_Log_Space: 1422

Until_Condition: None

Until_Log_File: 

Until_Log_Pos: 0

Master_SSL_Allowed: No

Master_SSL_CA_File: 

.......................................

                Auto_Position: 0

1 row in set (0.00 sec)

mysql> 




第七步 常见错误


1:slave状态 Slave_IO_Running: connecting


                           ping master ip  


                            关闭防火墙  service iptables stop 


                            关闭sentenforce  0


                            检查pos是否一致


                            检查授权用户密码


                            远程链接master mysql    mysql -u rep1 -p  -h  192.168.3.11  显示myql ERROR 1045                            

(28000): Access denied for user  (using password: YES) 则删除master密码为空的                              

账号delete from user where user=‘‘;  FLUSH PRIVILEGES;//刷新数据库






第八步、从服务器复制时,会在其数据目录中发现文件master.info和HOSTNAME-relay-log.info。从服务器使用这两个文件跟踪已经处理了多少主服务器的二进制日志。