MySQL主从常见的问题
一、不同步
IO出现NO:
1.防火墙 拦截
2.从无法使用授权的账号连接主(账号密码写错了、主没有给授权)
3.二级制日志文件名写错了,二进制日志pos写错了
恢复:
修正错误信息即可
stop slave
change master to…
start slave
SQL出现NO:
是因为SQL线程在读取中继日志做数据同步时出现问题了!
例如,我们创建一个wg的库,然后再去主上创建一个wg库,那么在同步时必然会出现数据冲突的错误,SQL=NO
恢复:
stop slave
set global sql_slave_skip_counter=1;
start slave
###########################################################################
二、
同步指定的库或表:
1.修改mysql主的配置:
vim /etc/my.cnf
[mysqld]
binlog-do-db=wg 让二进制日志只记录wg数据库更改
binlog-ignore-db=wg 让二进制日志同步除了wg数据库之外的所有数据库的更改
2.修改mysql从的配置
vim /etc/my.cnf
[mysqld]
replicate-do-db=wg 让从只去复制wg库的更改
replicate-ignore-db=wg 让从复制除了wg库之外的所有库的更改
replicate-do-table=wg.stu 让从只去复制wg的stu表的更改
replicate-ignore-table=wg.stu 让从复制除了wg库stu之外的所有表的更改
###########################################################################
三、
在slave同步时跳过指定的错误:
更改mysql从节点的配置文件
vim /etc/my.cnf
[mysqld]
#slave-skip-errors=1062,1053,1146 #跳过指定error no类型的错误
#slave-skip-errors=all #跳过所有错误
###########################################################################
四、实现一主多从时:
主---->从1----->从2
数据只能同步到从1
更改从1的配置文件:
增加如下配置:
log_slave_updates=1