当前环境
当前的mysql5.6是使用tar包安装的,版本有些旧了,许多地方会遇到一些兼容问题,所以打算使用yum安装Mysql8。
步骤
备份原数据库
在Navicat中将原数据库导出为SQL文件(也可在服务器中使用命令将数据库备份为压缩文件)
停用Mysql服务
在服务中执行systemctl stop mysqld
安装Mysql8的yum源
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
我这里是使用wget的方式下载(也可先下载在本地PC然后通过FTP上传到服务器),一定要选择适合于自己系统的yum源,此处地址为CentOS7版本。
其他版本系统需在Mysql官网中找到下载链接。
MySQL官网yum源下载地址:https://dev.mysql.com/downloads/repo/yum/
安装yum源
命令如下
rpm -ivh mysql80-community-release-el7-3.noarch.rpm
更新yum源
yum clean all
yum makecache
查看yum源的状态
yum repolist all | grep mysql
看到mysql80-community是开启的。
想要修改特定版本的话,可以使用
vim /etc/yum.repos.d/mysql-community.repo
修改repo对应的enabled的值(0:禁用,1:启用)
安装Mysql8.0
当前的yum源中,启用的最新版本就是Mysql8.0的了。所以可以直接执行yum install mysql-community-server
,有两个需要确认的地方输入y
即可。
我这里总共需要下载544M,具体大小因人而异。
看到“Complete!”就代表安装完成了。然后查看一下是否安装成功。
启动Mysql
systemctl start mysqld
启动时没有异常发生。
初始密码
这里有一个坑就是需要在启动log里查看临时密码。
systemctl status mysqld
密码就在后面,通过mysql -u root -p
然后输入密码就可以成功登录了。
网上还有一个说法是通过cat /var/log/mysqld.log | grep password
这个命令查看,但是我这里并没有成功,在这里记录一下,也许其他情况下可以通过这种方式查看。
后续数据恢复
修改密码
刚登陆时,无论执行什么都会要求先改密码
在mysql8中需要设置复杂密码,命令是ALTER USER USER() IDENTIFIED BY *'Xiaoming250';
这里可以先改成一个复杂密码,然后修改密码验证策略即可。
ALTER USER USER() IDENTIFIED BY 'Xiaoming250.+';
set global validate_password.policy=LOW;
# 默认长度限制为8,如需修改执行下面的语句设置为6
set global validate_password_length=6;
ALTER USER USER() IDENTIFIED BY '12345678';
导入sql文件
在服务器中执行.sql文件的命令是mysql -u账号 -p -D数据库名 < 文件绝对路径
然后输入密码即可。