在 CentOS 7 上安装 MySQL 8 的过程分为几个步骤,主要包括安装 MySQL 的官方仓库、安装 MySQL 8、配置 MySQL 服务以及验证安装。以下是详细步骤:
步骤 1:准备工作
- 更新系统:首先,确保你的系统是最新的,以便避免安装过程中出现版本问题。
sudo yum update -y
- 安装 wget:如果系统上没有
wget
,你需要安装它。sudo yum install wget -y
步骤 2:安装 MySQL 官方仓库
- 下载 MySQL 8 的官方 YUM 仓库:MySQL 提供了官方的 YUM 仓库文件,安装该仓库可以让你方便地从官方源获取 MySQL 8。
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
- 安装 MySQL 仓库:
sudo rpm -ivh mysql80-community-release-el7-3.noarch.rpm
- 确认仓库已经启用:安装后,MySQL 官方的 YUM 仓库应该会被自动启用。你可以检查启用的仓库:
sudo yum repolist enabled | grep "mysql.*-community"
步骤 3:安装 MySQL 8
- 禁用默认的 MySQL 5.7 仓库(如果已启用):
sudo yum-config-manager --disable mysql57-community
- 启用 MySQL 8 仓库:
sudo yum-config-manager --enable mysql80-community
- 安装 MySQL 8:
sudo yum install mysql-community-server -y
- 安装完成后,检查 MySQL 是否正确安装:
mysql --version
如果安装成功,命令行会返回 MySQL 版本信息。
步骤 4:启动 MySQL 服务
- 启动 MySQL 服务:
sudo systemctl start mysqld
- 设置开机自启:
sudo systemctl enable mysqld
- 检查 MySQL 服务状态:
sudo systemctl status mysqld
如果服务启动成功,状态会显示为active (running)
。
步骤 5:配置 MySQL
- 查找 MySQL 临时的 root 密码:
在 MySQL 安装完成后,MySQL 会生成一个临时的 root 密码,并存储在日志文件中。你可以通过以下命令找到这个密码:sudo grep 'temporary password' /var/log/mysqld.log
输出类似于:2022-02-23T00:35:17.844918Z 1 [Note] A temporary password is generated for root@localhost: aBc123!xyz
记下临时密码aBc123!xyz
。 - 使用临时密码登录 MySQL:
mysql -u root -p
输入上面找到的临时密码。 - 修改 root 密码:
登录 MySQL 后,你会看到 MySQL 提示修改临时密码。你需要按要求设置一个强密码。 在 MySQL 提示符下输入以下命令:ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourNewPassword';
- 执行 MySQL 安全性配置脚本:MySQL 提供了一个安全性配置脚本,可以帮助你设置更强的安全策略(如删除匿名用户、禁用远程 root 登录等)。
sudo mysql_secure_installation
按照提示进行操作:- 输入当前的 root 密码(即你刚才修改的密码)。
- 设置 root 密码强度。
- 删除匿名用户。
- 禁止 root 远程登录。
- 删除测试数据库并重新加载权限表。
步骤 6:验证 MySQL 安装
- 登录 MySQL:
mysql -u root -p
- 检查 MySQL 版本:
登录 MySQL 后,你可以运行以下命令来确认 MySQL 版本:SELECT VERSION();
输出应该是类似于:+-----------+ | VERSION() | +-----------+ | 8.0.25 | +-----------+
- 检查 MySQL 服务:你可以通过以下命令检查 MySQL 服务状态:
sudo systemctl status mysqld
步骤 7:配置防火墙(可选)
如果你需要通过外部访问 MySQL(例如,远程客户端连接),你需要确保防火墙允许 MySQL 端口(默认是 3306)。
- 打开 3306 端口:
sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent sudo firewall-cmd --reload
完成!
至此,你已经成功在 CentOS 7 上安装并配置了 MySQL 8。如果你还需要设置其他配置(如数据库用户权限、连接设置等),可以参考官方文档进一步操作。
发表回复