16.1、主库"show master status"没有结果:

1、原因:

主库binlog功能开关没有改或没有生效;

2、解决办法:

(1)[root@backup ~]#egrep "server-id|log-bin" /data/3306/my.cnf

log-bin = /data/3306/mysql-bin

server-id = 1

(2)mysql> show variables like 'server_id';

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

| Variable_name | Value |

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

| server_id | 1 |

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

1 row in set (0.00 sec)

mysql> show variables like 'log_bin';

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

| Variable_name | Value |

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

| log_bin | ON |

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

1 row in set (0.00 sec)

(3)提示:

配置文件my.cnf中的参数和show variables里的参数不一样;

my.cnf配置文件中的是log-bin,show variables中的是log_bin;

16.2、CHANGE MASTER时多了空格:

1、错误:

mysql > show slave stauts\G;

Last_IO_Error: Got fatal error 1236 from master when reading data from binary log:

'Could not find first log file name in binary log index file'

2、解决办法:

重新CHANGE MASTER;

或找到最近的没有数据的pos点重新chang master;

16.3、使用mysql启动时显示已经启动了,但是mysql没有启动:

1、原因:

mysql 没有正常关闭导致的问题:

2、解决办法

删除mysql的mysql.pid和mysql.sock文件

rm -f /data/3306/mysql.sock /data/3306/*.pid

16.4、由于切换binlog导致show master status 位置变化无影响;

16.5、mysql_InnoDB独立表空间物理文件被误删的解决方法:

1、因为InnoDB格式的表索引都保存在ibdata1这个文件中,虽然物理文件*.ibd,*.frm被删除,但是ibdata1中的索引没有删除,所以

数据库认为该表已经存在,导致创建失败。

2、解决方案是: 比如test表的.frm文件误删了首先新建一个文件名字叫test.frm(cp -a other.frm test.frm),然后使用drop命令

删除该数据库drop table test,删除之后会发现该数据库的物理文件夹中还存在test.ibd文件;

删除该文件 然后再次建表就ok了;

16.6、mysql从库数据冲突导致同步停止的解决方案:

1、报错:

2、解决方法:

(1)方法一:

stop slave;

set global sql_slave_skip_counter = 1;

start slave;

提示:sql_slave_skip_counter=n #n取值大于0,忽略执行n个更新;

对于普通的互联网业务,忽略问题不是很大,当然在不影响公司业务的前提下;

企业场景解决主从同步,比主从不一致当前更重要,主从同步数据一致很重要,需

要中找个时间恢复下这个从库;

缺点:容易造成数据丢失;

(2)方法二:

根据错误号跳过指定的错误:

slave-skip-errors = 1032,1062,1007 #一般由于入库重复导致的失败问题就可以进行忽略;

提示:你也可以使用不推荐的all值忽略所有的错误消息,不考虑所发生的错误。如果使用改制,

我们不能保证数据的完整性。

(3)其他可能引起同步的问题:

1)mysql自身的原因;

2)不同的数据库版本会引起不同步,低版本到高版本可以,但是高版本不能往低版本同步;

3)mysql的错误;

16.7、主库master宕机的解决方案:

1、登陆各个从服务器分别查看master.info文件;

cat /data/3307/data/master.info

cat /data/3308/data/master.info

18

mysql-bin.000035 #mysql-bin文件

331 #pos点

172.16.1.41

lc

123456

3306

60

0

0

1800.000

0

选择mysql-bin文件和pos值最大的点作为主库;

2、确保选择从库的relay_log全部都更新完毕:

stop slave io_thread;

show processlist\G;

直到看到sql线程已经是:Has read all relay log; waiting for the slave I/O thread to update it为止;

表示从库更新都执行完成;

提示:如果主库还能够启动,需要把主库的binlog日志拉到选定的主库并导入;

3、把选定的从库切换成主库:

stop slave;

reset master;

quit;

4、进到选定从库目录,删除master-info和relay-log.info文件:

cd /data/3307/data

rm -f master.info relay-log.*

5、提升选择的从库为主库:

vim /data/3306/my.cnf

开启:log-bin = /data/3307/mysql-bin

#如果存在log-slave-updates,read-only等一定要注释掉;

/data/3307/mysql restart

授权同步的用户和主库一致;

到此为止主库提升完毕;

6、分别登陆其他的从库:

stop slave;

change master to master_host = '172.168.1.41'; #如果不同步需要获取master的为止点并指定;

start slave;

show slave status\G; #查看状态,从库切换成功;

补充:

CHANGE MASTER TO

MASTER_HOST='172.16.1.41',

MASTER_PORT=3306,

MASTER_USER='lc',

MASTER_PASSWORD='123456',

MASTER_LOG_FILE='mysql-bin.000001',

MASTER_LOG_POS=331;

7、修理损坏的主库,完成后作为从库进行使用;

8、如果是有计划的主从库切换的做法为:

(1)主库锁表;

flush table with read lock;

unlock tables;

(2)登陆所有的库查看同步状态,是否同步完成;

(3)然后按照前面的3-7步骤完成操作;

16.8、从库slave宕机的解决方案:

从做slave:

stop slave;

gzip -d /tmp/mysql_bal.sql.gz #该文件是前天凌晨备份好的,库是inoodb引擎,使用

了--mstart-data=1参数备份的库;

mysql -uroot -p123456 -S /data/3306/mysql.sock </tmp/mysql_bak.sql

CHANGE MASTER TO

MASTER_HOST='172.16.1.41',

MASTER_PORT=3306,

MASTER_USER='lc',

MASTER_PASSWORD='123456';

start slave;

show slave status\G;

16.9、binglog查看时报错:

[root@db01 data]# mysqlbinlog mysql-bin.000013

mysqlbinlog: unknown variable 'default-character-set=utf8'

#出现这种情况的原因是my.cnf中[client] default-character-set=utf8,解决的办法是,去掉此参数,在

#在/etc/sysconfig/i18n中设置zh_CN.UTF8即可解决乱码的问题,而这种方法不会影响mysql客户端

#和库的编码一致性;

16、mysql主从复制问题总结的更多相关文章

  1. MySQL主从复制原理及配置详细过程以及主从复制集群自动化部署的实现

    一.复制概述 Mysql内建的复制功能是构建大型,高性能应用程序的基础.将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台主机的数据复制到其它主机(slaves)上,并重 ...

  2. Mysql主从复制,读写分离(mysql-proxy),双主结构完整构建过程

    下面介绍MySQL主从复制,读写分离,双主结构完整构建过程,不涉及过多理论,只有实验和配置的过程. Mysql主从复制(转载请注明出处,博文地址:) 原理是master将改变记录到二进制日志(bina ...

  3. MySQL主从复制与读写分离

    MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy)实践 Mysql作为目前世界上使用最广泛的免费数据库,相信所有从事系统运维的工程师都一定接触过.但在实际的生产环境中, ...

  4. mysql主从复制的一篇文章(转载)

      管理mysql主从有2年多了,管理过200多组mysql主从,几乎涉及到各个版本的主从,本博文属于总结性的,有一部分是摘自网络,大部分是根据自己管理的心得和经验所写,整理了一下,分享给各位同行,希 ...

  5. MySQL主从复制与读写分离 --非原创

    原文出处:http://www.cnblogs.com/luckcs/articles/2543607.html MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy)实践 ...

  6. 分布式架构高可用架构篇_08_MyCat在MySQL主从复制基础上实现读写分离

    参考: 龙果学院http://www.roncoo.com/share.html?hamc=hLPG8QsaaWVOl2Z76wpJHp3JBbZZF%2Bywm5vEfPp9LbLkAjAnB%2B ...

  7. Mysql主从复制的实现

    MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司.MySQL被广泛地应用在Internet上的中小型网站中.由于其体积小.速度快.总体拥有成本低,尤其是开放源码这一 ...

  8. Mysql主从复制_模式之日志点复制

    MySQL数据复制的原理 MySQL复制基于主服务器在二进制日志中跟踪所有对数据库的更改(更新.删除等等).因此,要进行复制,必须在主服务器上启用二进制日志. 每个从服务器从主服务器接收主服务器已经记 ...

  9. centos7下部署mysql主从复制

    首先大致看一下这个图 环境说明: 系统:centos7 IP:master:192.168.7.235 slave:192.168.7.226 mysql版本MySQL-5.7 1.Master 下载 ...

  10. MySQL主从复制介绍

    MySQL主从复制介绍 MySQL数据库的主从复制方案,和使用scp/rsync等命令进行的文件级别复制类似,都是数据的远程传输,只不过MySQL的主从复制是其自带的功能,无需借助第三方工具,而且,M ...

随机推荐

  1. 创建用户(adduser和useradd)和删除用户(userdel)

    创建用户(adduser和useradd)和删除用户(userdel)及   一  用户创建命令: # adduser  用户名 # useradd  用户名 1) useradd 与 adduser ...

  2. Ansible_编写循环和条件任务

    一.利用循环迭代任务 1️⃣:Ansible支持使用loop关键字对一组项目迭代任务,可以配置循环以利用列表中的各个项目.列表中各个文件的内容.生成的数字序列或更为复杂的结构来重复任务 1.简单循环 ...

  3. 3.14-19 wc、iconv、dos2unix、diff、vimdiff、rev

    3.14 wc:统计文件的行数.单词数或字节数 wc命令用于统计文件的行数.单词数或字节数.   -c 统计字节数 -w 统计单词数 -l 统计行数     -L 打印最长行的长度 -m 统计字符数 ...

  4. 火币HBAI量化币圈唯一免费量化炒币机器人

    量化交易是一种投资方法.以先进的数学模型替代人为的主观判断,利用计算机技术从庞大的历史数据中海选能带来超额收益的多种"大概率"事件以制定策略,极大地减少了投资者情绪波动的影响,避免 ...

  5. 第4讲 | DHCP与PXE:IP是怎么来的,又是怎么没的?

    第4讲 | DHCP与PXE:IP是怎么来的,又是怎么没的? linux 配置网络IP地址: 使用 net-tools: sudo ifconfig eth1 10.0.0.1/24 sudo ifc ...

  6. 西门子 S7200 以太网模块连接组态王方法

    北京华科远创科技有限研发的远创智控ETH-YC模块,以太网通讯模块型号有MPI-ETH-YC01和PPI-ETH-YC01,适用于西门子S7-200/S7-300/S7-400.SMART S7-20 ...

  7. golang快速入门(五)初尝web服务

    提示:本系列文章适合对Go有持续冲动的读者 初探golang web服务 golang web开发是其一项重要且有竞争力的应用,本小结来看看再golang中怎么创建一个简单的web服务. 在不适用we ...

  8. Go语言网络通信---tcp群发消息

    server package main import ( "fmt" "net" "os" "time" ) func ...

  9. TSR交通标志检测与识别

    TSR交通标志检测与识别 说明: 传统图像处理算法的TSR集成在在ARM+DSP上运行,深度学习开发的TSR集成到FPGA上运行. 输入输出接口 Input: (1)图像视频分辨率(整型int) (2 ...

  10. Yolov4性能分析(下)

    Yolov4性能分析(下) 六. 权重更新 "darknet/src/detector.c"--train_detector()函数中: ...... /* 开始训练网络 */ f ...