博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL主备停机步骤与注意事项
阅读量:6568 次
发布时间:2019-06-24

本文共 1130 字,大约阅读时间需要 3 分钟。

  双十一马上到了,一堆的事情,今天登录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 完毕!

 

转载于:https://www.cnblogs.com/jager/p/6032795.html

你可能感兴趣的文章
iOS推送功能极光推送的介绍与实现
查看>>
单用户模式与grub加密
查看>>
Chromium Graphics: 3D上下文及其虚拟化 - Part I
查看>>
jquery javascript获得网页的高度和宽度
查看>>
2019 -2-15 复习
查看>>
vim锁定屏幕
查看>>
实用的 JavaScript 调试小技巧
查看>>
027移除元素
查看>>
Linux下清理内存和Cache方法
查看>>
CodeVS 1018 单词接龙(DFS)
查看>>
我的博客园的CSS和html设置
查看>>
工作中简单的kettle使用
查看>>
spark shuffle:分区原理及相关的疑问
查看>>
Laravel5.5 使用第三方Vendor添加注册验证码
查看>>
06- Linux下sublime下载与使用
查看>>
前端文摘:Web 开发模式演变历史和趋势
查看>>
将图片序列转化为视频文件
查看>>
jQuery的文档操作***
查看>>
js 小数取整,js 小数向上取整,js小数向下取整
查看>>
vue-cli3.0
查看>>