update 5.5.8 mysql_linux mysql5.7升级到mysql8.0

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)升级前需要备份数据库

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的数据

依次执行:

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 导入即可

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值