CentOS 7 安装 MySQL 8.0 详细教程
第一步:检查系统环境并添加 MySQL 官方 Yum 源
-
检查系统版本 确保你的系统是 CentOS 7,打开终端,输入以下命令:
(图片来源网络,侵删)cat /etc/redhat-release
输出应该类似
CentOS Linux release 7.9.2009 (Core)。 -
下载并添加 MySQL 官方 Yum 源 MySQL 官方提供了不同版本的 Yum 源,我们这里安装 8.0 版本,在终端中执行以下命令:
# 下载并添加 MySQL 8.0 的官方 Yum 源 wget https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm
-
安装 Yum 源包 下载完成后,使用
yum命令安装这个包,它会自动将 MySQL 仓库添加到你的系统中:sudo yum localinstall mysql80-community-release-el7-7.noarch.rpm -y
-
验证 Yum 源是否添加成功 你可以检查以下两个文件是否存在,以确认源已正确添加:
(图片来源网络,侵删)# 检查 MySQL 8.0 源文件 ls /etc/yum.repos.d/mysql-community*
你还可以使用
yum repolist enabled命令来查看可用的 MySQL 仓库:sudo yum repolist enabled "mysql-*-community-*"
输出应该会显示
mysql-connectors-community和mysql-tools-community等仓库是启用的。
第二步:安装 MySQL 服务器
Yum 源已经配置好了,安装 MySQL 非常简单。
-
安装 MySQL 服务器 使用
yum命令直接安装:
(图片来源网络,侵删)sudo yum install mysql-community-server -y
这个命令会自动安装
mysql-community-server以及它所依赖的包,如mysql-community-client,mysql-community-common,mysql-community-libs等。 -
等待安装完成
yum会自动解决依赖关系并下载安装所需的软件包,安装过程可能需要几分钟时间,具体取决于你的网络速度。
第三步:启动 MySQL 服务并设置开机自启
-
启动 MySQL 服务 安装完成后,需要手动启动 MySQL 服务:
sudo systemctl start mysqld
-
设置开机自启 为了确保服务器重启后 MySQL 能自动运行,执行以下命令:
sudo systemctl enable mysqld
你可以使用
is-enabled参数检查是否设置成功:sudo systemctl is-enabled mysqld
输出应为
enabled。 -
检查 MySQL 服务状态 你可以随时检查 MySQL 服务的运行状态:
sudo systemctl status mysqld
如果看到绿色的
active (running)字样,说明 MySQL 服务正在正常运行。
第四步:安全配置(非常重要!)
新安装的 MySQL 需要进行一些安全设置,比如设置 root 密码、移除匿名用户等,官方提供了一个交互式的脚本 mysql_secure_installation 来完成这些操作。
-
运行安全配置脚本
sudo mysql_secure_installation
-
按照提示进行操作:
Enter password for user root:- 直接按 Enter 键,因为在 CentOS 7 上,首次安装时,MySQL 的
root用户还没有密码,所以这里留空。
- 直接按 Enter 键,因为在 CentOS 7 上,首次安装时,MySQL 的
The 'validate_password' component is installed on the server...- 系统会提示你设置 root 密码的强度策略,输入
Y并按 Enter 来启用密码强度检查。
- 系统会提示你设置 root 密码的强度策略,输入
Please set the password for root here.- 输入你为
root用户设置的新密码,然后按 Enter。
- 输入你为
Re-enter new password:再次输入新密码进行确认。
Remove anonymous users? (Press y|Y for Yes, any other key for No) :- 输入
Y并按 Enter,建议移除,这可以提高安全性。
- 输入
Disallow root login remotely? (Press y|Y for Yes, any other key for No) :- 输入
Y并按 Enter,建议禁止,只允许从本机(localhost)登录 root 用户。
- 输入
Remove test database and access to it? (Press y|Y for Yes, any other key for No) :- 输入
Y并按 Enter,测试数据库通常不需要,移除它更安全。
- 输入
Reload privilege tables now? (Press y|Y for Yes, any other key for No) :- 输入
Y并按 Enter,使所有更改立即生效。
- 输入
完成以上步骤后,你的 MySQL 安装就基本安全了。
第五步:登录 MySQL 并测试
-
获取临时密码(可选,如果你忘记了上面设置的密码) 有时
mysql_secure_installation可能会因为密码策略问题而中断,MySQL 8.0 在首次启动时,会为root用户生成一个临时的、随机密码,你可以通过以下日志文件找到它:sudo grep 'temporary password' /var/log/mysqld.log
使用这个临时密码登录后,你需要立即修改密码。
-
登录 MySQL 使用
mysql命令登录:mysql -u root -p
然后输入你刚才在
mysql_secure_installation中设置的root密码。 -
测试操作 登录成功后,你会看到
mysql>提示符,你可以执行一些简单的 SQL 命令来测试:-- 查看当前数据库 SHOW DATABASES; -- 创建一个测试数据库 CREATE DATABASE mytestdb; -- 查看数据库,确认创建成功 SHOW DATABASES; -- 退出 MySQL EXIT;
第六步:配置防火墙(可选,但推荐)
如果你的服务器启用了防火墙(firewalld),并且需要从远程客户端连接 MySQL,你需要开放 MySQL 的默认端口 3306。
-
永久开放 3306 端口
sudo firewall-cmd --permanent --add-service=mysql
或者直接开放端口:
sudo firewall-cmd --permanent --add-port=3306/tcp
-
重新加载防火墙规则
sudo firewall-cmd --reload
你已经成功在 CentOS 7 上安装并配置好了 MySQL 8.0!
回顾一下主要步骤:
- 添加源:下载并安装官方 Yum 源包。
- 安装:使用
yum install mysql-community-server安装。 - 启动:
systemctl start mysqld并设置enable。 - 安全配置:运行
mysql_secure_installation脚本。 - 测试:使用
mysql -u root -p登录。
希望这份教程对你有帮助!如果在安装过程中遇到问题,可以检查 /var/log/mysqld.log 日志文件,它通常会提供详细的错误信息。
