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

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

  • 相关阅读:
    当spfile文件中的参数修改错误,导致数据库无法启动问题
    oracle的shared server模式和dedicated server模式
    概述oracle的内存结构
    oracle进程简介
    TNS12516及ORA12516错误解决
    如何打补丁及升级
    关于sqlplus的简单概述
    修改参数之后数据库无法启动问题
    oracle的后台进程杀掉会有什么影响
    远程连接oracle数据库ORA12154错误
  • 原文地址:https://www.cnblogs.com/kangleweb/p/9112320.html
Copyright © 2011-2022 走看看