MySQL主备停机步骤与注意事项

  双十一马上到了,一堆的事情,今天登录mysql数据库服务器的时候突然发现服务器时间戳不对,比北京时间快了几分钟,我的天。。。随后检查了其他的几台数据库服务器发现同样都存在不同的偏差,最小的比北京时间快几秒,最大的长达8分钟,感觉整个人都不舒服了。。。服务器时间戳没有同步会导致什么问题呢,举个最简单的例子你的程序代码里面用now()来获取时间,比如一个订单,你最终会发现订单的处理时间竟然比订单的创建时间来到早,马爸爸和东哥要是知道了还不得发飙啊!!!

  随后要做的事情就是改服务器时间了,改服务器时间本身是个很简单的事情,可是要考虑到应用数据在随时写入,两台主从服务器还在实时同步,所以大概列了一个详细的计划和步骤,大体思路是:停应用   停数据库(先备后主)   改时间    启数据库(先主后备)   启应用

备忘下:

  1 通知系统上下游,以及相关业务,系统某个时间点(一般在凌晨)停止服务

  2 关闭服务器入口,比如nginx/F5等,避免新的订单进入

  3 关闭定时任务,避免任务继续在跑

  4 关闭应用

  5 关闭MHA(MySQL高可用方案

  6 关闭MySQL从库

    a.先查看当前的主从同步状态show slave status\G;看是否双yes

    b.执行stop slave

    c.停止从库服务mysqladmin shutdown -u用户名 -p密码

    d.查看是否还有mysql的进程ps -ef | grep mysql

    d.如果部署了多个实例,那每个实例都要按照以上步骤来操作

  7 关闭MySQL主库

    a.停止主库服务mysqladmin shutdown -u用户名 -p密码

    b.查看是否还有mysql的进程ps -ef | grep mysql

  8 修改数据库服务器时间

  9 启动MySQL主库

    a.启动主库服务mysqladmin start -u用户名 -p密码

    b.查看mysql的进程ps -ef | grep mysql

  10 启动MySQL从库

    a.启动从库服务mysqladmin start -u用户名 -p密码

    b.启动复制start slave;

    c.检查同步状态show slave status\G;是否双yes

    d.查看mysql的进程ps -ef | grep mysql

  11 启动MHA

  12 启动应用

  13 启动定时器

  14 启动外部入口

  15 完毕!

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值