zoukankan      html  css  js  c++  java
  • MySQL-主从复制环境升级小版本软件

    步骤

    离线方式
    • 主从替换二进制安装包为最新版本

    • 停从,通过mysql_upgrade升级后,加参数 --skip-slaves-start (不开启复制启动)进行启动从库 

    • 主库禁用二进制日志写入(skip-write-binlog),执行mysql_upgrade,然后正常方式重启主库

    # 1. slave
    mysql_upgrade
    # 2. master
    mysql_upgrade --skip-write-binlog 
    
    在线升级
    • 升级从库
    • 主从切换
    • 再次按照从库升级方式完成集群中所有软件升级

    实现细节(在线)

    检查同步状态
    show slave status G
    show master status G
    
    从库升级新版本软件
    停止MySQL服务(slave端)
    mysql -u root -p -e "stop slave;"
    
    mysql -u root -p --execute="SET GLOBAL innodb_fast_shutdown=0" # 必须设置该参数
    
    systemctl stop mysqld
    
    冷备数据
    cp -rp data data_$(date +%Y%M%D)
    
    升级软件

    先对slave进行升级

    unlink mysql
    tar -xf mysql-5.7.18-linux-glibc2.5-x86_64.zip
    # 3. 创建软链接
    ln -s mysql-5.7.18 mysql
    # 4. 修改软件目录用户及用户组
    chow -R mysql:mysql mysql-5.7.18
    
    启动数据库服务
    /usr/local/mysql/bin/mysqld_safe --user=mysql --defaults-file=/etc/my.cnf --skip-grant-tables --skip-networking &
    
    升级数据字典
    /usr/local/mysql/bin/mysql_upgrade --protocol=tcp -P 3308
    
    检查数据库状态
    select @@version();
    status;
    show slave statusG
    show master statusG
    
    主从切换
    确认都已开启log_bin日志

    确认主从都已开启log_bin

    show variables like '%log_bin%';
    
    -- 将主库设置成read_only模式
    set global read_only=ON;
    show variables like '%read_only%';
    
    日志切换
    flush tables;
    flush logs;
    show master status;
    
    停止slave服务并开启写功能
    stop slave;
    set global read_only=off;
    show variables like '%read_only%';
    
    主从切换

    原master端执行

    # 基于binlog + position
    CHANGE MASTER TO
    MASTER_HOST='192.168.10.181',
    MASTER_USER='sync',
    MASTER_PASSWORD='sync',
    MASTER_PORT=3308,
    MASTER_LOG_FILE='b3308.000014',
    MASTER_LOG_POS=852;
    
    # 基于gtid
    CHANGE MASTER TO
    MASTER_HOST='192.168.10.181',
    MASTER_USER='sync',
    MASTER_PASSWORD='sync',
    MASTER_PORT=3308,
    master_auto_position=1;
    
    start slave;
    show slave statusG
    
    按上面从库升级软件的步骤将新slave软件更新
  • 相关阅读:
    Microsoft office 2013安装图解
    6.2单一继承
    #include <QLabel>
    #include <QDebug>
    9.1运算符重载
    简单QT界面信号图形化输入输出
    类指针引用
    NULL和nullptr的区别
    网易云课堂_C语言程序设计进阶_第8周:图形交互程序
    5.3友元函数
  • 原文地址:https://www.cnblogs.com/binliubiao/p/14804309.html
Copyright © 2011-2022 走看看