CentOS7 通过 RPM 包安装 MySQL8
一. 下载RPM包
MySQL 社区版本下载
- 访问 MySQL 社区版本下载 页面,选择对应的操作系统和版本, 如 Red Hat Enterprise Linux / Oracle Linux , Red Hat Enterprise Linux 7 / Oracle Linux 7 (x86, 64-bit)
- 点击 RPM Bundle 右边的 Download 按钮, 进入下载页面.
- 点击 No thanks, just start my download., 下载 MySQL RPM 压缩包
将下载的压缩包上传至服务器, 或直接在服务器内使用 wget 命令下载压缩包
# 根据实际情况更换链接 # 鼠标在 No thanks, just start my download. 上方右键复制链接即可获取下载链接 wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.33-1.el7.x86_64.rpm-bundle.tar
二. 解压并安装 MySQL
进入 MySQL8 RPM 压缩包目录, 如 /opt/mysql
cd /opt/mysql
使用 tar 命令解压
# 根据实际情况替换文件名 tar -xvf mysql-8.0.33-1.el7.x86_64.rpm-bundle.tar # 使用 ll 或 ls -l 命令查看解压后目录文件 [root@bogon mysql]# ll 总用量 2007804 -rw-r--r--. 1 root root 1027983360 4月 24 11:39 mysql-8.0.33-1.el7.x86_64.rpm-bundle.tar -rw-r--r--. 1 7155 31415 16972740 3月 17 17:28 mysql-community-client-8.0.33-1.el7.x86_64.rpm -rw-r--r--. 1 7155 31415 3746004 3月 17 17:28 mysql-community-client-plugins-8.0.33-1.el7.x86_64.rpm -rw-r--r--. 1 7155 31415 680276 3月 17 17:28 mysql-community-common-8.0.33-1.el7.x86_64.rpm -rw-r--r--. 1 7155 31415 524492024 3月 17 17:29 mysql-community-debuginfo-8.0.33-1.el7.x86_64.rpm -rw-r--r--. 1 7155 31415 1969188 3月 17 17:29 mysql-community-devel-8.0.33-1.el7.x86_64.rpm -rw-r--r--. 1 7155 31415 4218852 3月 17 17:29 mysql-community-embedded-compat-8.0.33-1.el7.x86_64.rpm -rw-r--r--. 1 7155 31415 2219168 3月 17 17:29 mysql-community-icu-data-files-8.0.33-1.el7.x86_64.rpm -rw-r--r--. 1 7155 31415 1587536 3月 17 17:29 mysql-community-libs-8.0.33-1.el7.x86_64.rpm -rw-r--r--. 1 7155 31415 686272 3月 17 17:29 mysql-community-libs-compat-8.0.33-1.el7.x86_64.rpm -rw-r--r--. 1 7155 31415 67412732 3月 17 17:30 mysql-community-server-8.0.33-1.el7.x86_64.rpm -rw-r--r--. 1 7155 31415 25518376 3月 17 17:30 mysql-community-server-debug-8.0.33-1.el7.x86_64.rpm -rw-r--r--. 1 7155 31415 378469824 3月 17 17:32 mysql-community-test-8.0.33-1.el7.x86_64.rpm
使用 yum 安装 mysql
yum install mysql-community-{server,client,client-plugins,icu-data-files,common,libs}-*
查看 MySQL 安装结果
# 如能打印 MySQL Server 版本信息, 则代表安装成功 mysql -V
启动 MySQL 服务并设置开机自启
# 启动 MySQL 服务 systemctl start mysqld # 设置开机自启 systemctl enable mysqld
三. 修改默认密码
获取初始密码
grep 'temporary password' /var/log/mysqld.log # A temporary password is generated for root@localhost: alo8OwuRGo?a # root@localhost: 后的 alo8OwuRGo?a 即为默认密码
使用默认密码登录MySQL
# -u: 用户, -p: 密码, 不建议直接在命令中输入 # 回车后会提示输入密码, 密码不会回显, 输入完成后按回车即可登录完成 mysql -uroot -p
修改默认密码
-- 使用默认密码登录成功后会强制要求修改默认密码, 建议先修改默认密码后进行其他操作 -- 默认密码校验规则需要同时拥有符号,字母,数字且超过8位, 可以通过 SHOW VARIABLES LIKE 'validate_password%'; 查看具体配置 ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPass@123';
修改默认密码校验策略(不建议)
MySQL 默认密码校验规则需要同时拥有符号,字母,数字且超过8位, 可以通过修改密码校验规则的方式允许使用简单密码, 不建议在生产环境进行此配置
-- 查看当前密码策略 SHOW VARIABLES LIKE 'validate_password%';
Variable_name | Value |
---|---|
validate_password.check_user_name | ON |
validate_password.dictionary_file | |
validate_password.length | 8 |
validate_password.mixed_case_count | 1 |
validate_password.number_count | 1 |
validate_password.policy | MEDIUM |
validate_password.special_char_count | 1 |
-- 修改密码校验规则
set global validate_password.policy=LOW;
- root 账号开放外网访问(严重不建议)
MySQL 默认情况下 root 账户只能进行本地访问, 无法再外部通过网络访问. 可以通过配置 user 表中的 host 字段配置开启外部访问
严重不建议在生产环境进行此配置
-- 将 root 用户的 host 字段更改为 %
update user set host='%' where user ='root';
-- 刷新权限信息, 使上方修改生效
FLUSH PRIVILEGES;
四. 开放端口
如需通过网络访问 MySQL, 需要在防火墙(如已启动防火墙)配置放行MySQL端口(默认3306)
# 查看当前防火墙状态
# active (running) 即为已启动
systemctl status firewalld
# 查看当前已开放端口列表
firewall-cmd --zone=public --list-ports
# 开放MySQL端口(默认3306)
# --permanent: 永久生效
firewall-cmd --zone=public --add-port=3306/tcp --permanent
# 重载防火墙配置
firewall-cmd --reload
# 再次查看当前已开放端口列表
firewall-cmd --zone=public --list-ports
防火墙端口开放完成后,即可通过网络从外部进行访问.