MySQL 5.7升级到8.0详细过程
一、升级前准备
1.1.MySQL提供mysql-shell验证方式,可以下载后进行验证:
下载shell验证文件:
https://cdn.mysql.com/archives/mysql-shell/mysql-shell-8.0.27-linux-glibc2.12-x86-64bit.tar.gz
验证是否可以升级成功(验证的时候出现了几个错误没去处理,升级后倒时也没发现问题,如果是生产环境下还是要小心一些)
# 验证mysql升级
[root@localhost] tar -xf mysql-shell-8.0.27-linux-glibc2.12-x86-64bit.tar.gz
[root@localhost] cd mysql-shell-8.0.27-linux-glibc2.12-x86-64bit/bin
[root@localhost] ./mysqlsh -uroot -p'123456' -S /tmp/mysql.sock -e "util.checkForServerUpgrade()"
1.2. 备份原数据库(防止升级过程中出现问题,导致数据丢失,有条件建议异地备份)
[root@localhost] mysqldump -uroot -p'123456' --all-databases --lock-tables=0 > all.sql.bak.20220412
[root@localhost] mv all.sql.bak.20220412 /data/backup/mysql/
1.3.下载MySQL8.0
下载地址:mysql:https://downloads.mysql.com/archives/community/
选择文件:mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz
# 解压mysql8.0:
[root@localhost] tar -xf mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz
# 移动到指定目录
[root@localhost] mv mysql-8.0.27-linux-glibc2.12-x86_64 /usr/local/mysql8
# 更改文件夹所属
[root@localhost] chown -R mysql.mysql /usr/local/mysql8/
二、升级过程配置
2.1. 修改mysql配置文件,主要是mysql8.0
部分,及sql_mode中的NO_ENGINE_SUBSTITUTION
# 编辑配置文件
[root@localhost] vim /etc/my.cnf[client]
port=3306
socket=/tmp/mysql.sock[mysqld]
log-bin=mysql-bin
server-id=170
character_set_server=utf8
init_connect='SET NAMES utf8'
#basedir=/usr/local/mysql
#datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/run/mysqld/mysqld.pid
#不区分大小写
lower_case_table_names =1sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTIONmax_connections=5000default-time_zone = '+8:00'
max_allowed_packet = 32M
#default_password_lifetime=90
#wait_timeout=600# mysql8.0 add
collation-server=utf8_general_ci
basedir=/usr/local/mysql8
datadir=/usr/local/mysql/data
skip_ssl
default_authentication_plugin=mysql_native_password
2.2 开始升级
# 进入原mysql命令行
[root@localhost] mysql -uroot -p'123456'# 查看mysql版本
mysql> select version();
+------------+
| version() |
+------------+
| 5.7.26-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.00 sec)# 确保数据都刷到硬盘上,更改成0
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
使用安全模式启动mysql8.0,正常启动后可以进入到mysql命令行,如果没启动成功,需要查看日志cat /var/log/mysqld.log
解决后,再进入命令行
# 使用mysql8.0启动
[root@localhost] /usr/local/mysql8/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql &# 进入mysql命令行
[root@localhost] mysql -uroot -p'123456'
mysql> select version();
+-----------+
| version() |
+-----------+
| 8.0.27 |
+-----------+
1 row in set (0.00 sec)mysql> exit;
Bye
2.2 配置环境变量
[root@localhost] vim /etc/profile# add mysql
export PATH=$PATH:/usr/local/mysql8/bin# 使环境变量生效
[root@localhost] source /etc/profile
查看客户端版本配置
# 验证版本
[root@localhost] which mysql
/usr/local/mysql8/bin/mysql
# 查看版本
[root@localhost] mysql -V
mysql Ver 8.0.27 for Linux on x86_64 (MySQL Community Server - GPL)
如果客户端版本不正确,可以修改软链接,再重新查看
# 修改软链接
[root@localhost] ln -snf /usr/local/mysql8/bin/mysql /usr/bin/mysql
三、配置启动项
[root@localhost] cp /usr/local/mysql8/support-files/mysql.server /etc/init.d/mysqld
# 修改启动项目
[root@localhost] vim /etc/init.d/mysqld
# 修改目录位置
basedir=/usr/local/mysql8
datadir=/usr/local/mysql/data# 添加到启动列表
[root@localhost] chkconfig --add mysqld
# 刷新启动信息
[root@localhost] systemctl daemon-reload
# 查看启动项列表
[root@localhost] chkconfig --list
重新启动服务器没有成功,启动的时候报错没有mysqld.pid文件,创建后启动成功
# 重启动无法创建mysqld.pid文件处理方法
[root@localhost] cat /var/log/mysqld.log
[root@localhost] cd /run
[root@localhost] mkdir mysqld
[root@localhost] chown -R mysql.mysql ./mysqld
[root@localhost] cd mysqld
[root@localhost] touch mysqld.pid
[root@localhost] chown -R mysql.mysql ./mysqld.pid
[root@localhost] service mysqld startStarting MySQL.. SUCCESS!
MySQL 5.7升级到8.0详细过程相关推荐
- oppor15android9版本,OPPO R15如何升级Android 9.0 OPPO R15升级Android 9.0详细教程
2018-05-11 16:32:50 OPPO R15如何升级Android 9.0 OPPO R15升级Android 9.0详细教程 标签:OPPO R15,OPPO R15 Android9. ...
- 安装数据库MySQL 8.0.20.0 详细过程 小白安装
安装数据库MySQL 8.0.20.0 详细过程 小白安装 耐心等待 复制完回到这里来 我们输入 net start 我们输入 net start 当然 我们也可以关闭数据库 命令如下 net sto ...
- 从MySQL 5.6升级到8.0,Facebook付出了惨痛代价……
欢迎关注方志朋的博客,回复"666"获面试宝典 Facebook 称,他们最近的一次大版本升级到 MySQL 5.6 花了一年多时间才完成,还在 5.6 版上开发 LSM 树存储引 ...
- 【Linux】【服务器】 CentOS7下安装MySQL(版本8.0)详细过程步骤
一.检查是否安装过mysql [Linux][服务器]CentOS7下卸载MySQL详细过程步骤 二.下载Linux下的Mysql包,打开Mysql官网 1.MySQL官网 2.滑到最后,点击MySQ ...
- mate7安装android o,华为Mate7升级安卓6.0详细教程
来讲一下华为Mate7升级安卓6.0(EMUI4.0)M版本详细图文教程吧,新的一年了,大家都迫不及待的想升级一下EMUI4.0,但是很多朋友都不知道怎样来升级,下面刷机网小编就来给大家仔细说一说吧, ...
- 手动搭建 DNS Server 使用 FQDN 安装 VMware VCSA 7.0 详细过程
文章目录 前言 1. 简单部署 DNS Server 过程说明 2. 配置 DNS 正向与反向解析 2.1. 配置正向查找区域 2.2. 配置反向查找区域 2.3. 验证正方向解析是否成功 3. 安装 ...
- java war包更新 部署_关于Linux系统下基于Tomcat部署和升级war包的详细过程
1.首先Linux先安装java,Tomcat 中间件规范要求: 1) 软件必须下载到/services/download_soft_v --------(用xftp上传 ...
- MySQL DBA必备:MySQL 5.7升级8.0过程(全)
墨墨导读:每个 DBA 在工作中都会面临数据库升级的问题,本文详细介绍MySQL 从 5.7 升级到 8.0 的过程,希望可以帮助到大家. 为什么升级到MySQL 8.0 基于安全考虑 基于性能和 稳 ...
- WSS2.0升级到WSS3.0
WSS2.0升级到WSS3.0的过程: 1.检查服务器上面是否安装.Net Framework3.0(必须要安装的). 2.安装WSS3.0(安装后别做配置) 选择第一项(逐步升级),默认的是第二项( ...
- 无 DNS 服务器使用 FQDN 安装 VMware VCSA 6.7 详细过程
文章目录 前言 1. 安装 VCSA 详细过程 1.1. VCSA 第一阶段部署过程 1.2. 配置 dnsmasq 服务做临时解析 1.3. VCSA 第二阶段部署过程 2. 配置本地 Hosts ...
最新文章
- HDU3434数学题
- 基于深度学习的NLP 32页最新进展综述,190篇参考文献
- 《Linux内核设计与实现》读书笔记 - 目录 (完结)
- 20162305 2016-2017-2《程序设计与数据结构》课程总结
- 11、HTML <head>标签
- 全球及中国家庭和公寓用对讲系统行业发展态势及及消费需求调研报告2022-2027年
- qt mysql怎么选表_Qt的Mysql数据库表操作(1)
- 第六讲 使用第三方库及简单网页
- Kettle使用_14 文件操作复制移动删除结合JS
- Eclipse 上安装STS (springsource-tool-suite)
- Asp.net MVC 学习之路-003(增删改查,后端手工,前端生成)
- c语言整数与平均值,编写求一组整数的和与平均值的程序
- ffmpeg解码器优化
- 微信扫码下载iosAPP
- 全球首款乘云而来的存储产品CDS诞生!
- cd如何省略空格 linux_在 Linux 上调整命令历史 | Linux 中国
- spring-bean(xml方式管理)
- 1g1h1m mysql_mysql服务器优化
- Opencv识别面部
- JS—随机三个0-9不重复的随机数