环境:
master服务器:centos5.2 mysql5.1.35 源码 IP:10.207.10.154
slave服务器:centos5.2 mysql5.6.10 源码 IP:10.207.10.158
配置:
一master主服务器配置
1、编辑my.ini文件
   server-id=1 //添加server-id必须为1到232–1之间的一个正整数
   log-bin = /var/log/mysql/logbin/mysql-bin //开启log-bin二进制日志文件(注意logbin的权限必须对mysql是可写的)
   binlog-do-db = yaxin //同步yaxin库 其他库都不同步
   #binlog-ignore-db = mysql,information_schema //不同步

   #character-set-server=utf8
   #init_connect='SET NAMES utf8'
2、重启mysql数据库
二slave主服务器配置
1、编辑my.cnf文件(vi /etc/my.cnf)
   server-id=2   slave的ID号,此处一定要大于master端。
   replicate-do-db = yaxin
   #character-set-server=utf8
   #init_connect='SET NAMES utf8'

2、重启mysql数据库
三master服务器授权
1、添加slave服务器访问master服务器的帐号和权限
   mysql>grant replication slave on *.* to 'myroot'@'10.207.10.158'identified by 'abc123';
2、mysql>flush privileges;//刷新MySQL的系统权限相关表
3、mysql>show master status

File             | Position  |

+------------------+----------

| mysql-bin.000008 | 98

四同步数据
1、登入进mysql
   mysql -uroot -p
2、同步
   mysql>stop slave;
   mysql>change master to
     >master_host='10.207.10.154',
     >master_user='myroot',     master端创建的用于主从同步的账户和密码
     >master_password='abc123',
     >master_log_file='mysql-bin.000008', //master端记录的file值
     >master_log_pos=98; // master端记录的position值
     mysql>start slave;
mysql>show slave status \G

    查看信息
    如果Slave_IO_Running: Yes
    Slave_SQL_Running: Yes
    二行同时为Yes 说明配置成功,如果不成功请查看slave的mysql错误日志,根据错误一步一步排查,基本上都可以解决的。

    Seconds_Behind_Master: 0从库数据同步主库的时间,单位为秒,这个参数很重要, 若参数过大,会出现主从库数据有同步延迟的问题

五配置完成

注意:

1、两台服务器数据库版本应一致,如果不一致,从服务器的版本要高于主服务器的版本。

2、MySQL进行实时数据同步,本质上是将mysql动作同步到Slave服务器,而不是对实质的数据进行同步。所以同步开始前,两端的数据要保持一致。

附: 解决mysql“Access denied for user 'root'@'localhost'”
mysql -uroot -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
修改root用户的密码:
# mysqladmin -uroot -p password 'newpassword'