作者:手机用户2502885711 | 来源:互联网 | 2023-06-05 21:55
本文档在以下环境中安装测试通过:版本MySQL8.0.30LinuxCentOSLinuxrelease7.9.2009(Core)内核版本:3.10.0-1160.el7.x86
本文档在以下环境中安装测试通过:
|
版本 |
---|
MySQL |
8.0.30 |
Linux |
CentOS Linux release 7.9.2009 (Core)内核版本:3.10.0-1160.el7.x86_64 |
使用 Yum 安装
Step1: 添加 MySQL Yum Repository
首先,将 MySQL Yum Repository 添加到系统的 Repository 列表中:
访问 MySQL Yum Repository 下载页面。也可以直接使用步骤 2 中的 下载地址.
- 下载相应平台的发行包。
如果当前系统没有安装 wget,先执行以下命令安装 wget:
sudo yum -y install wget
对于基于 el7 的系统:
wget https://dev.mysql.com/get/mysql80-community-release-el7-6.noarch.rpm
- 使用如下命令安装,将 platform-and-version-specific-package-name 替换为下载的 RPM 包名称:
$> sudo yum -y install platform-and-version-specific-package-name.rpm
对于基于 EL7 的系统:
$> sudo -y yum install mysql80-community-release-el7-{version-number}.noarch.rpm
可以通过以下命令检查 MySQL Yum 存储库是否已成功添加:
$> yum repolist enabled | grep "mysql.*-community.*"
Step2:禁用默认MySQL模块
仅适用于 EL8 系统,如 RHEL/CentOS 8 和 Oracle Linux 8 包括一个默认启用的 MySQL 模块。除非禁用此模块,否则它会屏蔽 MySQL Repository 提供的包。要禁用包含的模块并使 MySQL Repository 包可见,使用以下命令:
$> sudo yum module disable mysql
Step3:通过 RPM 检查签名
在安装前,确保 MySQL 包是完整的,没有被篡改。
从指定 url 加载 key(基于 EL7 的系统测试):
sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
Step4:安装 MySQL
使用以下命令安装 MySQL:
$> sudo yum install mysql-community-server
以上命令将安装 MySQL 服务(MySQL -community-server),以及运行服务所需组件,包括客户端(MySQL -community-client),客户端和服务器的常见错误消息和字符集(MySQL -community-common),以及共享的客户端库(MySQL -community-libs)。
Step5:启动 MySQL 服务
使用以下命令启动 MySQL 服务:
$> systemctl start mysqld
使用以下的命令查看 MySQL 服务的状态:
$> systemctl status mysqld
使用以下命令设置开机自启动:
$> systemctl enable mysqld
$> systemctl daemon-reload
在服务第一次启动时,数据目录为空,会执行以下操作:
- 初始化服务。
- 在data目录下生成SSL证书文件和密钥文件。
- 安装并启用 validate_password 插件
- 创建 root 用户 "root"@"localhost"。设置 root 用户密码并保存在错误日志文件中。使用以下命令获取密码:
$> sudo grep 'temporary password' /var/log/mysqld.log
使用生成的临时密码登录,尽快修改 root 密码:
$> mysql -uroot -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
注意:validate_password 插件默认安装。默认的密码策略要求密码至少包含一个大写字母、一个小写字母、一个数字和一个特殊字符,密码总长度至少为8个字符。
Step6:修改密码策略
个人测试环境可以修改简单易容易记忆的密码,此时需要降低密码策略。可以通过修改系统变量来配置密码策略,系统变量的含义查看密码验证组件部分。
mysql> SET GLOBAL validate_password.policy=LOW;
mysql> SET GLOBAL validate_password.check_user_name=OFF;
mysql> SET GLOBAL validate_password.length=4;
修改密码:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
Step7:允许远程连接
mysql> USE mysql
mysql> UPDATE user SET host = '%' WHERE user ='root';
mysql> FLUSH PRIVILEGES;
Step8:开放防火墙端口
# Step1: 查看当前防火墙状态
sudo firewall-cmd --list-all
# Step2: 添加端口
sudo firewall-cmd --permanent --add-port=3306/tcp
# Step3: 重启防火墙
sudo service firewalld restart
# Step4: 查看是否生效
sudo firewall-cmd --query-port=3306/tcp
自此,所有步骤已完成,可以尝试通过 navicat 等客户端远程连接。