主服务器(MySQL5.5)
从服务器(MySQL5.6)
1、在主库创建从库用户
insert into mysql.user(Host,User,Password) values('localhost','slaveuser',password('123456'))
flush privileges
grant replication slave on *.* to 'slaveuser' ' identified by '123456' with grant option
2、修改主库配置文件my.cnf
#编辑配置文件,在[mysqld]部分添加下面内容
vi /etc/my.cnf
#设置服务器id
server-id=80
#启动MySQ二进制日志系统
log_bin=mysql-bin
#需要同步的数据库名,如果有多个数据库,可重复此参数,每个数据库一行
binlog-do-db=api
#不同步mysql系统数据库
binlog-ignore-db=mysql
#重启MySQL
service mysqld restart
#进入mysql控制台
mysql -u root -p
#查看主库同步状态
show master status\G
3、修改从库配置文件my.cnf(保证主从server-id不一样,一般用ip最后的字段)
vi /etc/my.cnf
#设置服务器id
server-id=90
3、从库增加配置
#进入mysql控制台
mysql -u root -p
#停止slave同步进程
stop slave
#执行同步语句
change master to master_host=' ',master_user='slaveuser',master_password='123456',master_log_file='mysql-bin.000001' ,master_log_pos=
#开启slave同步进程
start slave
#查看从库同步状态
show slave status\G
Slave_SQL_Running: No mysql同步故障解决如果数据不同步可以尝试该资料
mysql>show slave status\G
Slave_IO_Running: Yes
Slave_SQL_Running: No
Last_Errno: 1062
....
Seconds_Behind_Master:NULL
原因:
1.程序可能在slave上进行了写 *** 作
2.也可能是slave机器重起后,事务回滚造成的.
解决办法I:
1.首先停掉Slave服务:slave stop
2.到主服务器上查看主机状态:
记录File和Position对应的值。
mysql>show master status
+------------------+-----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+-----------+--------------+------------------+
| mysql-bin.000020 | 135617781 | | |
+------------------+-----------+--------------+------------------+
1 row in set (0.00 sec)
3.到slave服务器上执行手动同步:
mysql>change master to
>master_host='master_ip',
>master_user='user',
>master_password='pwd',
>master_port=3307,
>master_log_file='mysql-bin.000020',
>master_log_pos=135617781
1 row in set (0.00 sec)
mysql>slave start
1 row in set (0.00 sec)
再次查看slave状态发现:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
...
Seconds_Behind_Master: 0
解决办法II:
mysql>slave stop
mysql>set GLOBAL SQL_SLAVE_SKIP_COUNTER=1
mysql>slave start
版本一致,是官方推荐的方式;slave至少要和master的版本前两个号相同,可高于master; 版本不一致,可能出现的问题就是同步的不稳定(兼容性的老问题),因为会在某些函数处理、日志读娶日志的解析重演等上发生异常,导致同步报错而需手工处理。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)