序:
因为存在漏洞,客户要求需要从5.7.X升到8.0.X。
1.升级前准备
新特性:
默认字符集变为utf8mb4。
MyISAM系统表全部换成InnoDB表。
JSON特性增强。
支持不可见索引,支持直方图。
sql_mode参数默认值变化。
默认密码策略变更。
新增角色管理。
支持窗口函数,支持Hash join。
温馨提示:
注意字符集设置。
密码认证插件变更。
sql_mode支持问题。
2.实操过程
1>.把以前数据库进行备份,为了安全。如果不是很重要的可以忽略这个步骤。
## 路径确定
[root@localhost u01]# pwd
/u01/mysql
[root@localhost u01]# cd /u01/
## 进行备份
[root@localhost u01]# zip -r -p mysql.zip mysql
[root@localhost u01]# ll
drwxr-xr-x. 7 mysql mysql 4096 Sep 8 2020 mysql
-rw-r--r-- 1 root root 2651712000 Sep 23 10:41 mysql-8.0.19-linux-glibc2.12-x86_64.tar
-rw-r--r-- 1 root root 1436641756 Sep 28 11:17 mysql.zip
2>.解压压缩包,并且解压到/usr/local/。(安装包是我直接从同事私服下载。大家可以从网上获取)
[root@localhost u01]# tar -xvf mysql-8.0.19-linux-glibc2.12-x86_64.tar -C /usr/local/
3>.文件夹重命名mysql8
[root@localhost u01]# cd /usr/local
[root@localhost local]# mv mysql-8.0.19-linux-glibc2.12-x86_64/ mmysql8
4>.更改配置文件 /etc/my.cnf
#8.0
sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
character-set-server = utf8
collation_server = utf8_general_ci
basedir = /usr/local/mysql8
skip_ssl
default_authentication_plugin=mysql_native_password
5>.确认版本,关闭数据库
[root@localhost mysql]# mysql -uroot -p'XXXXXXX'
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> select version();
+------------+
| version() |
+------------+
| 5.7.23-log |
+------------+
1 row in set (0.00 sec)
mysql> show variables like 'innodb_fast_shutdown';
+----------------------+-------+
| Variable_name | Value |
+----------------------+-------+
| innodb_fast_shutdown | 1 |
+----------------------+-------+
1 row in set (0.01 sec)
mysql> set global innodb_fast_shutdown=0;
Query OK, 0 rows affected (0.00 sec)
mysql> shutdown;
Query OK, 0 rows affected (0.00 sec)
mysql> exit
Bye
6>.确认mysql进行已经不存在了。
[root@localhost mysql]# ps aux | grep mysql
root 19015 0.0 0.0 112712 952 pts/3 S+ 16:57 0:00 grep --color mysql
7>.对所有的mysql文件进行授权。
[root@localhost mysql]#chown -R mysql.mysql /usr/local/mysql8/
[root@localhost mysql]#chown -R mysql.mysql /etc/my.cnf
8>.执行启动mysql (没有进行配置项修改,如果有填写,就进行修改)
[root@localhost mysql]#/etc/init.d/mysql start
备注一下:修改配置项:
[root@localhost mysql]#vi /etc/init.d/mysql
basedir=/usr/local/mysql8 # 修改basedir目录
出现错误1:
[MY-010022] [Server] Failed to Populate DD tables.
查看日志:
原因:错误就是反馈,有个存储过程,问题。
处理方法:
还原到mysql 5.7
查找到报错的问题进行处理。
然后在进行授权,启动。
出现错误2:
unknown variable 'query_cache_size=262144000'.
查看日志:
2021-09-28T17:36:32.905388+08:00 5 [System] [MY-013381] [Server] Server upgrade from '50700' to '80019' started.
2021-09-28T17:36:48.994585+08:00 5 [System] [MY-013381] [Server] Server upgrade from '50700' to '80019' completed.
2021-09-28T17:36:49.185870+08:00 0 [ERROR] [MY-000067] [Server] unknown variable 'query_cache_size=262144000'.
2021-09-28T17:36:49.187827+08:00 0 [ERROR] [MY-010119] [Server] Aborting
2021-09-28T17:36:51.123917+08:00 0 [System] [MY-010910] [Server] /usr/local/mysql8/bin/mysqld: Shutdown complete (mysqld 8.0.19) MySQL Community Server - GPL.
原因:由于mysql驱动包的版本过低导致这个问题的发生意思是query cache在MySQL5.7.20就已经过时了,而在MySQL8.0之后就已经被移除了。
处理方法:
在/etc/my.cnf 中删除 query_cache 相关参数。
9>.验证mysql 版本
mysql> select version();
+-----------+
| version() |
+-----------+
| 8.0.19 |
+-----------+
1 row in set (0.00 sec)
10>.修改环境变量(修改PATH变量)
[root@localhost mysql]# vi /etc/profile
# 将PATH中的/usr/local/mysql/bin改为/usr/local/mysql8/bin
#配置环境变量生效
[root@localhost mysql]# source /etc/profile
11>.验证
[root@localhost u01]# mysql -V
mysql Ver 8.0.19 for linux-glibc2.12 on x86_64 (MySQL Community Server - GPL)
[root@localhost u01]# which mysql
/usr/local/mysql8/bin/mysql
Deployment Complete;
游戏是我的全部图景,我将演绎所有的游戏角色,我是每个活着角色的传奇。 --开心研
编辑推荐:
- mysql 从5.7.X升到8.0.X03-01
- mysql5.7安装_centos703-01
- mysql8安装_centos703-01
- MySQL故障诊断常用方法手册(含脚本、案例)03-01
- Redhat6安装MySQL8.0.26.03-01
- 【MYSQL】Mysql常用检查sql03-01
- mysql 支持索引字符超过 76703-01
- 云数据库MySQL有什么作用?有哪些优点?03-01
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- mysql 从5.7.X升到8.0.X
mysql 从5.7.X升到8.0.X
26-03-01 - mysql5.7安装_centos7
mysql5.7安装_centos7
26-03-01 - MySQL故障诊断常用方法手册(含脚本、案例)
MySQL故障诊断常用方法手册(含脚本、案例)
26-03-01 - Redhat6安装MySQL8.0.26.
Redhat6安装MySQL8.0.26.
26-03-01 - 云数据库MySQL有什么作用?有哪些优点?
云数据库MySQL有什么作用?有哪些优点?
26-03-01 - 选择成长型集成电路sap系统时一定要考虑的因素
选择成长型集成电路sap系统时一定要考虑的因素
26-03-01 - 新手必看!最简单的MySQL数据库详解
新手必看!最简单的MySQL数据库详解
26-03-01 - MySQL查询语句过程和EXPLAIN语句的基本概念及其优化
MySQL查询语句过程和EXPLAIN语句的基本概念及其优化
26-03-01 - mysql实现merge功能之DUPLICATE key UPDATE语法
- MySQL 系统表空间文件解析
MySQL 系统表空间文件解析
26-03-01
