mysql主库宕机能写吗,mysql如果主库宕机,如何解决?

两种情况服务器down机,数据库down机

如果此时需要切从库

1、先show processlist\G,查看状态

如果看到两个状态,说明此时的从库和主库是同步的

state: waiting for master to send event I/O线程

state:has read all relay log;waiting for the slave I/O thread to update it sql线程

2、登录从库分别查看:

cat /data/3306/data/master.info

cat /data/3307/data/master.info

看哪个从库的哪个master.info哪个更新,就说明哪个从库一致性更高,所以此时就确定最新的库为主库。

选个pos最大的作为主库

或利用半同步的功能,直接选择做实时同步的这个从库。

1、确保所有relay log全部更新完毕。

在每个从库上执行stop slave io_thread;show processlist;

直到看到has read all relay log;表示从库更新都执行完毕

2、登录从库

mysql -uroot -p123 -S /data/3306/mysql.sock

stop slave;

reset master;

quit;

3、进入数据库数据目录,删除master.info relay-log.info

cd /data/3306/data/master

rm -f master.info relay-log.info

检查授权表,类似read-only参数

4、3306提升从库为主库

vim /data/3306/my.cnf

开启:

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

//如果存在log-slave-updates read-only等参数一定要注释掉。

/data/3306/mysql stop

/data/3306/mysql start

到此,提升主库完毕

5、如果主库服务器没down,需要去主库拉取bin-log补全提升主库的从库

6、其他从库操作

已检查(同步user rep均存在)

登录从库

stop slave;

change master to master_host='192.168.1.32'; //如果不同步,就指定位置点

start slave;

show slave status\G;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值