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. [Python] 安装 & 常用命令

    安装 http://www.xue51.com/soft/2301.html 常用命令 #查看pip版本$ pip --version#安装pip$ sudo apt install python3- ...

  2. Debian 9.4 多网卡链路聚合bond配置

    Debian 9.4 多网卡链路聚合bond配置 安装ifenslave ifenslave 的作用是网卡的负载均衡 root@debian:~# apt-get install ifenslave ...

  3. 基于Centos7.4搭建prometheus+grafana+altertManger监控Spring Boot微服务(docker版)

    目的:给我们项目的微服务应用都加上监控告警.在这之前你需要将 Spring Boot Actuator引入 本章主要介绍 如何集成监控告警系统Prometheus 和图形化界面Grafana 如何自定 ...

  4. LTC4020

    今天凯哥说他之前有一块电池放电低于20V了 然后接上4020后 会先浮充   涓流充 大约200ma  充过了20V后又是4A了

  5. 1.4linux文件和目录常用命令

    文件和目录常用命令 目标 查看目录内容 ls 切换目录 cd 创建和删除操作 touch rm mkdir 拷贝和移动文件 cp mv 查看文件内容 cat more grep 其他 echo 重定向 ...

  6. 10.11 arping:发送arp请求

    arping命令 是用于发送arp请求到一个相邻主机的工具,arping使用arp数据包检查局域网内所有设备的硬件地址.  arping 命令的参数选项及说明 -c <次数>       ...

  7. 高可用 | Xenon:后 MHA 时代的选择

    原创:知数堂 | MySQL 高可用的选择 在 MySQL(5.5 及以下)传统复制的时代,MHA(Master High Availability)在 MySQL 高可用应用中非常成熟.在 MySQ ...

  8. ALD技术产品形态

    ALD技术产品形态 原子层沉积研究设备 TFS 200是适合科学研究和企业研发的最灵活的ALD平台.倍耐克 TFS 200专门设计用于多用户研究环境中把可能发生的交叉污染降至最低. 大量的可用选项和升 ...

  9. Mobileye高级驾驶辅助系统(ADAS)

    Mobileye高级驾驶辅助系统(ADAS) Mobileye is the global leader in the development of vision technology for Adv ...

  10. Tensor基础实践

    Tensor基础实践 飞桨(PaddlePaddle,以下简称Paddle)和其他深度学习框架一样,使用Tensor来表示数据,在神经网络中传递的数据均为Tensor. Tensor可以将其理解为多维 ...