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
总结:拷贝数据比较耗时,并且数据存在冗余(占了两份),但是能快速进行版本切换,并且数据库数据安全一致性得到保证。
最新文章
- python字典
- NOPI Excel插件导入导出 图片批注
- Canvas画图在360浏览器中跑偏的问题
- System.SysUtils.TMarshaller 与 System.TMarshal
- Mysql 只导出数据,不包含表结构
- 大容量导入和导出 XML 文档的示例
- 中间人攻击破解HTTPS传输内容
- http server 下载地址
- .NET中 MEF应用于IOC
- 转:Remote debugging with Visual Studio 2010
- QT | 一些学习心得
- Hibernate(10)_双向n对1(双向1对n)
- @SuppressLint("HandlerLeak"),或Handler使用有警告;
- Qt5——从零开始的学生管理系统
- docker 1.13.1 启动容器过程中mount报错
- Golang之字符串格式化
- Core Java笔记
- js 使用事件委托
- 迷你MVVM框架 avalonjs 1.3.2发布
- hdu 5001(概率DP)