前言
Centos8相对7来说,改变蛮大的,默认是最新GA版本MySQL,所以不能直接使用yum或dnf的方式进行安装,在安装之前请确保MySQL的相关服务及资料已清理干净。 如果你之前有安装过MySQL的相关服务及资源,为了安装过程顺利,请按照步骤步步操作(此方法也适用于卸载MySQL),如果你是全新的环境,请忽略卸载过程! MySQL官方文档:https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/
一、卸载 MySQL
- 停止 MySQL 运行
systemctl stop mysqld.service yum 方式查询 MySQL 安装情况
yum list installed mysql*
如果有: yum remove mysql-community-*卸载 MySQL 资源文件
查询 MySQL 目录
find / -name mysql
- 逐一删除 MySQL 相关目录
rm -rf ...... - 删除 MySQL 配置文件(如果有)
rm -rf /etc/my.cnf - 删除 MySQL 用户
userdel mysql
二、安装 MySQL
在MySQL Yum存储库(https://repo.mysql.com/yum/)中,不同版本的MySQL Community Server托管在不同的子存储库中。默认情况下,默认启用最新GA系列(当前为MySQL 8.0)的子存储库,而所有其他系列(例如,MySQL 5.7系列)的子存储库均被禁用。使用此命令可查看MySQL Yum存储库中的所有子存储库,并查看已启用或禁用了哪些子存储库(对于启用dnf的系统,请使用dnf替换 命令中的 yum)
- 查询子存储库状态
yum repolist all | grep mysql(centos8查询结果为空) - 手动创建新的 mysql5.7 子存储库
sudo vim /etc/yum.repos.d/mysql-community.repo - 编辑并保存配置信息,这里我提供了2种源,任选其中一种即可。
# 清华大学MySQL镜像源[mysql-5.7-community]name=MySQL 5.7 Community Serverbaseurl=https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql-5.7-community-el7-$basearch/enabled=1gpgcheck=1gpgkey=https://repo.mysql.com/RPM-GPG-KEY-mysql[mysql-tools-community]name=MySQL Tools Communitybaseurl=https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql-tools-community-el7-$basearch/enabled=1gpgcheck=1gpgkey=https://repo.mysql.com/RPM-GPG-KEY-mysql[mysql-connectors-community]name=MySQL Connectors Communitybaseurl=https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql-connectors-community-el7-$basearch/enabled=1gpgcheck=1gpgkey=https://repo.mysql.com/RPM-GPG-KEY-mysql# MySQL官方源[mysql57-community]name=MySQL 5.7 Community Serverbaseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/enabled=1gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql[mysql-connectors-community]name=MySQL Connectors Communitybaseurl=http://repo.mysql.com/yum/mysql-connectors-community/el/7/$basearch/enabled=1gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql[mysql-tools-community]name=MySQL Tools Communitybaseurl=http://repo.mysql.com/yum/mysql-tools-community/el/7/$basearch/enabled=1gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

- 验证是否已启用和禁用正确的子存储库(对于启用了dnf的系统,请使用dnf替换 命令中的 yum)
yum repolist enabled | grep mysql
- 禁用默认的 MySQL 模块
sudo yum module disable mysql
- 开始安装
sudo yum install mysql-community-server
三、检查版本
- 检查命令
mysql -V
四、登录 MySQL
- 启动 MySQL 服务
systemctl start mysqld.service - 重载配置
systemctl daemon-reload - 获取数据库安装时系统临时生成的密码
grep 'temporary password' /var/log/mysqld.log
- 登录数据库
mysql -uroot -p
输入密码
- 修改登录密码
ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘输入你要设置的root密码’;
注意必须包含大小写字母数字以及特殊字符并且长度不能少于8位,否则会报错
- 修改完密码记得退出 MySQL 重新登录
五、开启远程登录
- 授权远程登录用户
GRANT ALL PRIVILEGES ON . TO ‘zhou’@’%’ IDENTIFIED BY ‘Aabbcc1234@’ WITH GRANT OPTION;
zhou为用户名,Aabbcc1234@为zhou的密码,或者直接将root权限修改为可以通过远程访问 - 刷新配置
use mysql;UPDATE user SET Host='%' WHERE User='root';flush privileges;
六、设置编码
- 默认的编码格式
show variables like 'character%';
- 编辑 配置文件
vim /etc/my.cnf - 保存以下配置信息
```shell [client] default-character-set=utf8
[mysqld] character-set-server=utf8 ```
- 修改完成,重启(restart) MySQL,再重新登录
- 查询编码修改情况
show variables like 'character%';
七、Navicat 连接 MySQL
- 关闭防火墙(如果不关闭防火墙会报2003错误码)
systemctl disable firewalld.servicesystemctl stop firewalld.service - 开始连接

