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

升级操作:

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

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

最新文章

  1. python字典
  2. NOPI Excel插件导入导出 图片批注
  3. Canvas画图在360浏览器中跑偏的问题
  4. System.SysUtils.TMarshaller 与 System.TMarshal
  5. Mysql 只导出数据,不包含表结构
  6. 大容量导入和导出 XML 文档的示例
  7. 中间人攻击破解HTTPS传输内容
  8. http server 下载地址
  9. .NET中 MEF应用于IOC
  10. 转:Remote debugging with Visual Studio 2010
  11. QT | 一些学习心得
  12. Hibernate(10)_双向n对1(双向1对n)
  13. @SuppressLint("HandlerLeak"),或Handler使用有警告;
  14. Qt5——从零开始的学生管理系统
  15. docker 1.13.1 启动容器过程中mount报错
  16. Golang之字符串格式化
  17. Core Java笔记
  18. js 使用事件委托
  19. 迷你MVVM框架 avalonjs 1.3.2发布
  20. hdu 5001(概率DP)

热门文章

  1. couchdb安装
  2. Heap Dump (heap=dump)
  3. faceted project validation builder
  4. PHP微信公共号H5支付。
  5. 科赫曲线和科赫雪花的绘制Python
  6. yum centos 修改镜像源
  7. leetcode1020
  8. Swoole 内存操作(Table)
  9. react-native android 权限问题
  10. sql 2014 安装失败