zoukankan      html  css  js  c++  java
  • MySQL主备停机步骤与注意事项

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

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

    备忘下:

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

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

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

      4 关闭应用

      5 关闭MHA(MySQL高可用方案

      6 关闭MySQL从库

        a.先查看当前的主从同步状态show slave statusG;看是否双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 statusG;是否双yes

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

      11 启动MHA

      12 启动应用

      13 启动定时器

      14 启动外部入口

      15 完毕!

  • 相关阅读:
    定义扩展点,实现发布订阅机制
    JS阻止事件冒泡
    Virtualbox安装黑苹果
    外部Tomcat使用Java热部署利器JRebel
    在Windows server 2016上使用docker
    Tomcat加载web.xml文件的顺序详解
    IDEA反编译整个jar包
    java集合类的继承结构
    利用BodyTagSupport创建带标签体的自定义标签
    jquery实现简单弹出框
  • 原文地址:https://www.cnblogs.com/jager/p/6032795.html
Copyright © 2011-2022 走看看