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

升级操作:

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

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

linux下mysql升级的更多相关文章

  1. 【MySQL】Linux下MySQL 5.5、5.6和5.7的RPM、二进制和源码安装

      [MySQL]Linux下MySQL 5.5.5.6和5.7的RPM.二进制和源码安装 1.1  BLOG文档结构图 1.2  前言部分 1.2.1  导读和注意事项 各位技术爱好者,看完本文后, ...

  2. Linux下MySQL忘记密码

    系统:CentOS6.6 64位 参考文档(截图请看原网址): Linux下MySQL忘记root密码怎么办_百度经验 http://jingyan.baidu.com/article/1709ad8 ...

  3. linux 下mysql的启动 、调试、排错

    Linux 下 MySQL 启动与关闭 说明 一.启动 1.1  MySQL 进程 可以用ps 命令查看进程: [root@rac2 ~]# ps -ef|grep mysql root     21 ...

  4. linux下mysql远程访问

    // */ // ]]>   linux下mysql远程访问 Mysql默认root用户只能本地访问,不能远程连接管理mysql数据库,但项目中必须要远程导 入导出数据,所以研究了一下. Tab ...

  5. linux下mysql字符集编码问题的修改

    安装完的MySQL的默认字符集为 latin1 ,为了要将其字符集改为用户所需要的(比如utf8),就必须改其相关的配置文件:由于linux下MySQL的默认安装目录分布在不同的文件下:不像windo ...

  6. Linux下MySQL的备份与还原

    Linux下MySQL的备份与还原 1. 备份 [root@localhost ~]# cd /var/lib/mysql (进入到MySQL库目录,根据自己的MySQL的安装情况调整目录) [roo ...

  7. linux下mysql定时备份数据库

    linux下mysql定时备份数据库 (2010-10-21 12:40:17) 转载▼ 标签: 杂谈   一.用命令实现备份 首页进入mysql的bin目录 1.备份数据#mysqldump -uu ...

  8. 设置Linux下Mysql表名不区分大小写

    1.Linux下mysql安装完后是默认:区分表名的大小写,不区分列名的大小写:2.用root帐号登录后,在/etc/my.cnf中的[mysqld]后添加添加lower_case_table_nam ...

  9. linux下MySQL 5.6源码安装

    linux下MySQL 5.6源码安装 1.下载:当前mysql版本到了5.6.20 http://dev.mysql.com/downloads/mysql 选择Source Code 2.必要软件 ...

随机推荐

  1. CPU Usage Sampling Profiles (cpu=samples)

    HPROF工具通过对采样线程搜集CPU使用信息.以下是从运行的javac中样例输出的一部分. $ javac -J-agentlib:hprof=cpu=samples Hello.java CPU ...

  2. Java图片压缩

    package com.test; import com.sun.image.codec.jpeg.JPEGCodec; import com.sun.image.codec.jpeg.JPEGIma ...

  3. 46.纯 CSS 创作一个在容器中反弹的小球

    原文地址:https://segmentfault.com/a/1190000015221260 练习地址:https://scrimba.com/c/c3GEWmTb 感想: 原来animation ...

  4. python中enumerate、变量类型转换

    enumerate可以在遍历过程中自动生成新的一列并从0开始计数 1 a = ["hello", "world", "dlrb"] 2 fo ...

  5. spring data jpa update

    一:在controller  加上: @Controller @RequestMapping("/user") public class UserController { @Aut ...

  6. STM32之USB电路(摘要笔记)

  7. 利用STM32CubeMX来生成USB_HID_Mouse工程

    硬件开发板:STM32F103C8 软件平台 好了现在开始利用STM32CubeMX来生成我们的工程 1.新建工程 选择MCU的型号 选择选择时钟 开启usb的模块 选择USB的类 配置时钟树(主要是 ...

  8. Python conda 入门

    https://blog.csdn.net/yimingsilence/article/details/79388205 查看版本 conda --version 列出所有的Python环境 cond ...

  9. DJango之视图函数

    一)Django WEB框架 2) request.path和request.get_full_path() 是请求的路径 3)render:页面渲染 4)redirect:页面跳转 3)模板语法: ...

  10. Array.Resize(ref arry, size);

    数组原来的内容不变,后面添加新的空间. 内部操作应该是:重新分配了一块空间,然后将旧的内容拷过去