zoukankan      html  css  js  c++  java
  • linux下mysql升级

    最近漏洞扫描,扫描出了数据库存在中高危漏洞,于是迫切需要进行数据库升级。上网查了各种资料,说法很多,也到自己虚拟机上试了好多方法,终于倒腾出来,做下小总结记录一下。

    升级操作:

    1.到mysql官网https://dev.mysql.com/downloads/mysql/下载新版本的mysql,我这里下载的是mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz(旧版本为5.6.24-enterprise-commercial-advanced-log)

    2上传软件包到/usr/local/后

    解压 tar -zxvf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz
    重命名 mv mysql-5.7.20-linux-glibc2.12-x86_64 mysql
    更改属主属组chown -R mysql:mysql /usr/local/mysql/

    新建新版数据库存放目录mkdir mysqlData

    关闭数据库进程service mysql stop

    拷贝数据cp -r /var/lib/mysql /usr/local/mysqlData(此操作比较耗时,大约1小时,数据约600G)

    更改属主属组chown -R mysql:mysql /usr/local/mysqlData

    备份配置文件cp /etc/my.cnf /etc/my.cnf_bak

    修改配置文件/etc/my.cnf 新增如下(注意旧版本的相关配置)

    [mysqld]
    basedir=/usr/local/mysql(新版数据库安装目录)
    datadir=/usr/local/mysqlData(新版数据库数据存储目录)

    log_error=/usr/local/mysqlData/error.log(新版数据库日志文件)

    启动数据库 service mysql start
    进入数据库并查看版本
    mysql -u root -p
    select version();
    更新数据库内置表防止缺少相关内置信息
    /usr/local/mysql/bin/mysql_upgrade -u root -p --force

    重启数据库 service mysql restart

    回退操作:
    关闭数据库service mysql stop
    还原配置文件cp /etc/my.cnf /etc/my.cnf_new
      mv /etc/my.cnf _bak /etc/my.cnf
    启动数据库 service mysql start

    总结:拷贝数据比较耗时,并且数据存在冗余(占了两份),但是能快速进行版本切换,并且数据库数据安全一致性得到保证。

  • 相关阅读:
    设计模式(八): 策略模式
    设计模式(七): 迭代器模式
    设计模式(六): 建造者模式
    设计模式(五): 装饰者模式
    设计模式(四): 适配器模式
    设计模式(三): 抽象工厂模式
    设计模式(二): 工厂模式
    设计模式(一): 单例模式
    Hibernate三种状态,缓存,以及update更新问题
    Servlet 生命周期、工作原理
  • 原文地址:https://www.cnblogs.com/kangleweb/p/9112320.html
Copyright © 2011-2022 走看看