前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >linux mysql5.7升级到mysql8.0

linux mysql5.7升级到mysql8.0

原创
作者头像
用户4988085
修改2021-07-20 10:29:06
3.1K0
修改2021-07-20 10:29:06
举报
文章被收录于专栏:建站知识
linux mysql5.7升级到mysql8.0

操作步骤: 1.首先对mysql5.7的表数据和结构做全量备份 2.删除mysql5.7,清除log=/var/log/mysqld.log和Datadir=/var/lib/MySQL的数据,其中log、datadir的路径在/etc/my.cnf中可以找到; 3.安装数据库mysql8.0 4.数据回导,把步骤一备份的数据导入新的数据库中。

(1)升级前需要备份数据库

代码语言:javascript
复制
mysql -e "show databases;" -uroot -p| grep -Ev "Database|information_schema|mysql|test|performance_schema|sys" | xargs mysqldump -uroot -p --databases > /home/kingstar/data-for-upgrade.sql
# 此命令是将除information_schema|mysql|test|performance_schema|sys库之外的数据全部导出到/home/kingstar/data-for-upgrade.sql

(2)删除mysql5.7,清除log=/var/log/mysqld.log和Datadir=/var/lib/MySQL的数据 依次执行:

代码语言:javascript
复制
rpm -e --nodeps `rpm -qa | grep mysql` 
rpm -e --nodeps `rpm -qa | grep MySQL`
rpm -e --nodeps `rpm -qa | grep mariadb`

log、datadir中的数据清除: 其中log、datadir的路径在/etc/my.cnf中可以找到,log=/var/log/mysqld.log Datadir=/var/lib/MySQL 首先查看目录是否有目标文件,然后执行以下三行: 执行命令: echo > /var/log/mysqld.log 执行命令: cd /var/lib/MySQL 清空历史数据:rm -rf ./* (3)安装数据库mysql8.0 解压安装包 切换工作目录: cd /home/kingstar/program/software mkdir mysql 解压 tar -xvf mysql-8.0.20-1.el7.x86_64.rpm-bundle.tar -C /home/kingstar/program/software/mysql cd mysql mysql用户初始化 检查用户组是否存在:cat /etc/group | grep mysql 创建mysql用户: sudo groupadd mysql sudo useradd -r -g mysql mysql -----r参数表示mysql用户是系统用户,不可用于登录系统

服务安装 执行 sudo rpm -ivh mysql-community-common-8.0.20-1.el7.x86_64.rpm 执行 sudo rpm -ivh mysql-community-libs-8.0.20-1.el7.x86_64.rpm 执行 sudo rpm -ivh mysql-community-client-8.0.20-1.el7.x86_64.rpm 执行 sudo rpm -ivh mysql-community-server-8.0.20-1.el7.x86_64.rpm 注:如果安装 server RPM包报 libaio 错误时下载 http://mirror.centos.org/centos/7/os/x86_64/Packages/libaio-0.3.107-10.el7.x86_64.rpm 执行 rpm -ivh libaio-0.3.107-10.el7.x86_64.rpm 进行安装后再执行 服务启动 首先需要修改配置文件: vi /etc/my.cnf 新增内容: lower_case_table_names=1 sql_mode='NO_ENGINE_SUBSTITUTION' max_connect_errors=1000 执行启动命令: systemctl start mysqld.service 检查: 如果出现如下内容则表示启动成功

初始化数据库: 1.Mysql初始密码:执行 grep 'temporary password' /var/log/mysqld.log 下图红框中的内容即为MySQL密码

2.mysql -uroot -p 进入控制台(密码复制上图红框内容后,用复制输入) 3.修改密码: ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Mysql2020!';(此处必须修改,必须用alert user) 4.执行命令:update mysql.user set host = '%' where user = 'root'; 5.执行命令生效:flush privileges; 6.退出mysql控制台:exit 7.重启mysql 即可: systemctl restart mysqld.service

(4)数据回导 执行mysql -uroot -p 进入mysql控制台后使用 source /home/kingstar/data-for-upgrade.sql 导入即可

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • linux mysql5.7升级到mysql8.0
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档