zoukankan      html  css  js  c++  java
  • MySQL rpm安装 升级

    之前数据库的安装是通下载mysql-5.7.22-1.el7.x86_64.rpm-bundle.tar中的rpm包,进行安装的,现在发现5.7.22版本有许多的安全漏洞,需要升级到最新版5.7.31版;在这里记录一下通过rpm方式升级MySQL

    下载最新版的MySQL安装包

    wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.31-1.el7.x86_64.rpm-bundle.tar

    解压
    tar -xvf mysql-5.7.31-1.el7.x86_64.rpm-bundle.tar
    把需要升级的rpm包放到一个目录

    -rw------- 1 root root 25820440 Jun 3 18:07 mysql-community-client-5.7.31-1.el7.x86_64.rpm -rw------- 1 root root 378784 Jun 3 18:07 mysql-community-common-5.7.31-1.el7.x86_64.rpm -rw------- 1 root root 3891548 Jun 3 18:07 mysql-community-devel-5.7.31-1.el7.x86_64.rpm -rw------- 1 root root 2511392 Jun 3 18:07 mysql-community-libs-5.7.31-1.el7.x86_64.rpm -rw------- 1 root root 169502800 Jun 3 18:08 mysql-community-server-5.7.31-1.el7.x86_64.rpm

    升级

    查看当前版本

    方式一:mysql -V
    方式二:rpm -qa |grep -i mysql
    记录当前版本信息

    [root@localhost]# rpm -qa |grep -i mysql
     
    mysql-community-common-5.7.22-1.el6.x86_64
    mysql-community-server-5.7.22-1.el6.x86_64
    mysql-community-client-5.7.22-1.el6.x86_64
    mysql-community-libs-5.7.22-1.el6.x86_64
    mysql-community-devel-5.7.22-1.el6.x86_64

    备份

    mysqldump -u root -p --add-drop-table --routines --events --all-databases --force > upgrade.sql

    备份配置文件

    cp /etc/my.cnf /etc/my.cnf.bak

    cp  /usr/lib/systemd/system/mysqld.service    /usr/lib/systemd/system/mysqld.service.bak

    flush tables with read lock;  关闭所有的表,并给所有数据库的所有表加上一个global read lock。这对于backup操作来说很有用,加锁之后,可以防止应用修改数据库。这个是全局级别的锁,而非表锁。

    设置参数使数据库关闭时会清空缓存避免版本间缓存格式差异

    mysql -u root -p --execute="SET GLOBAL innodb_fast_shutdown=0"

    关闭数据库(如果在升级安装开始时MySQL服务器正在运行,则会在安装结束时自动重启,执行上述升级命令后,可直接查看版本号变为升级后的版本号)

    systemctl stop mysqld


    这里是关闭数据库后再升级,那么升级完毕后要记得重启.

    升级:卸载和安装信息二进制文件(即直接yum uninstall /rpm -ivh升级rpm包)数据库目录等都不变

     yum remove -y mysql-community-libs-5.7.22-1.el7.x86_64
     yum remove -y mysql-community-common-5.7.22-1.el7.x86_64
     rpm -qa |grep -i mysql  
     rpm -ivh mysql-community-common-5.7.31-1.el7.x86_64.rpm
     rpm -ivh mysql-community-libs-5.7.31-1.el7.x86_64.rpm
     rpm -ivh mysql-community-client-5.7.31-1.el7.x86_64.rpm
     rpm -ivh mysql-community-server-5.7.31-1.el7.x86_64.rpm  
     rpm -qa |grep -i mysql

    启动数据库

    mv  /etc/my.cnf.bak  /etc/my.cnf
    mv   /usr/lib/systemd/system/mysqld.service.bak     /usr/lib/systemd/system/mysqld.service

    先还原备份配置文件再启动 systemctl start mysqld

    启动后 执行 unlock tables 防止表读被锁

    检查并可能解决旧数据和升级软件之间的任何不兼容性

    在这一步,如果是关闭数据库升级,数据库要已启动

    mysql_upgrade -uroot -p


    当从5.7.29升级到5.7.30需要更新,当升级到最新的5.7.30后,就不用了.当然,如果非要更新(其实没必要),要加–force选项.

    验证

    rpm验证

    rpm -qa |grep -i mysql

    mysql命令

    mysql -V

    进入msyql系统后验证

    mysql> select version();

  • 相关阅读:
    BZOJ 2339: [HNOI2011]卡农 DP+容斥原理
    BZOJ 2560: 串珠子 状压DP+容斥原理
    BZOJ 4455: [Zjoi2016]小星星 容斥原理+树形DP
    BZOJ 2660: [Beijing wc2012]最多的方案 DP+贪心
    【luogu3734】 [HAOI2017]方案数 组合计数
    BZOJ 1495: [NOI2006]网络收费 树形DP+复杂度分析
    在TTF字体中提取想要的文字
    dos命令创建安卓签名
    比较和排序(IComparable和IComparer以及它们的泛型实现)
    unity LineRenderer
  • 原文地址:https://www.cnblogs.com/weifeng1463/p/13547835.html
Copyright © 2011-2022 走看看