centos9安装mysql5.7
时间: 2025-07-08 19:14:18 浏览: 3
<think>我们正在CentOS 9上安装MySQL 5.7,但请注意,CentOS 9默认的软件仓库可能不包含MySQL 5.7,因为CentOS 9较新,而MySQL 5.7相对较旧。因此,我们需要添加MySQL官方仓库或使用其他方法安装。
根据引用[1]和[2]中的安装步骤,我们可以借鉴部分方法,但要注意CentOS 9和CentOS 7/6的差异。引用[1]展示了在CentOS 7上通过解压RPM包安装,引用[2]展示了在CentOS 6上初始化MySQL。然而,对于CentOS 9,我们更推荐使用MySQL官方提供的Yum仓库来安装。
步骤:
1. 添加MySQL Yum仓库
2. 安装MySQL 5.7
3. 启动MySQL服务
4. 安全设置和初始化
但是,请注意:MySQL官方仓库中默认可能提供最新版本(如8.0),所以我们需要指定安装5.7版本。
详细步骤:
1. 添加MySQL Yum仓库
访问MySQL官方网站下载适用于CentOS 9的MySQL Yum仓库安装包。由于CentOS 9相对较新,可能没有直接对应的仓库包,我们可以尝试使用CentOS 8的仓库包(因为CentOS 9和8在仓库格式上兼容)或者使用通用Linux7/8的包。
在MySQL官网下载页面:https://dev.mysql.com/downloads/repo/yum/
选择适合的版本(例如:Red Hat Enterprise Linux 8 / Oracle Linux 8 (Architecture Independent), RPM Package)并复制下载链接。
在服务器上执行:
```bash
# 下载MySQL Yum仓库
wget https://dev.mysql.com/get/mysql80-community-release-el8-4.noarch.rpm
# 安装仓库
sudo rpm -ivh mysql80-community-release-el8-4.noarch.rpm
```
安装后,默认启用的是MySQL 8.0,我们需要启用5.7的仓库并禁用8.0。
2. 修改仓库配置,启用MySQL 5.7
```bash
# 编辑MySQL仓库配置文件
sudo vi /etc/yum.repos.d/mysql-community.repo
```
找到[mysql57-community]部分,将enabled设置为1;同时将[mysql80-community]的enabled设置为0。
修改后示例:
```
[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
```
注意:这里baseurl是CentOS 7的路径,因为MySQL官方可能没有为CentOS 8/9专门构建5.7的包。但我们可以尝试使用CentOS 7的包,因为二进制兼容性较好。如果不行,可能需要寻找其他方法。
或者,我们可以手动修改baseurl为CentOS 8的路径(如果存在):
```
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/8/$basearch/
```
实际上,MySQL 5.7在官方仓库中提供了el6, el7, 以及el8的包。对于CentOS 9,我们可以尝试使用el8的包(因为CentOS 9兼容RHEL 9,而RHEL9应该兼容RHEL8的包)。因此,将baseurl中的el7改为el8。
3. 安装MySQL 5.7
```bash
sudo yum install mysql-community-server
```
如果遇到GPG密钥问题,可以尝试导入新的密钥:
```bash
sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
```
4. 启动MySQL服务
```bash
sudo systemctl start mysqld
sudo systemctl enable mysqld
```
5. 获取临时密码
安装完成后,MySQL会生成一个临时密码,存储在日志文件中。使用以下命令查看:
```bash
sudo grep 'temporary password' /var/log/mysqld.log
```
6. 运行安全脚本进行初始化
```bash
sudo mysql_secure_installation
```
按照提示操作:输入临时密码,然后设置新密码(注意密码强度要求),之后可以移除匿名用户、禁止root远程登录、删除测试数据库等。
7. 登录MySQL
```bash
mysql -u root -p
```
注意:如果上述步骤中遇到依赖问题(例如libcrypto.so.10缺失),可能是因为CentOS 9中OpenSSL版本较高(默认是OpenSSL 3),而MySQL 5.7需要OpenSSL 1.0。解决方法是安装兼容包或者从源码编译,但这样较为复杂。因此,如果遇到依赖问题,可能需要考虑使用MySQL 8.0或者使用容器(如Docker)运行MySQL 5.7。
替代方案:使用Docker
如果上述方法遇到问题,可以考虑使用Docker来运行MySQL 5.7。
1. 安装Docker
```bash
sudo yum install -y docker
sudo systemctl start docker
sudo systemctl enable docker
```
2. 拉取MySQL 5.7镜像
```bash
sudo docker pull mysql:5.7
```
3. 运行容器
```bash
sudo docker run --name mysql5.7 -e MYSQL_ROOT_PASSWORD=your_password -p 3306:3306 -d mysql:5.7
```
这样就在3306端口运行了一个MySQL 5.7容器。
请根据实际情况选择安装方法。</think>### 在CentOS 9上安装MySQL 5.7的详细步骤
由于MySQL 5.7未包含在CentOS 9的默认仓库中,我们将通过官方MySQL Yum仓库安装。以下是完整流程:
#### 1. 添加MySQL官方Yum仓库
```bash
# 下载MySQL Yum仓库安装包
sudo dnf install -y https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm
# 禁用默认的MySQL 8.0仓库
sudo dnf config-manager --disable mysql80-community
# 启用MySQL 5.7仓库
sudo dnf config-manager --enable mysql57-community
```
#### 2. 安装MySQL 5.7服务器
```bash
# 安装MySQL服务器和客户端
sudo dnf install -y mysql-community-server
```
#### 3. 启动服务并设置开机自启
```bash
sudo systemctl start mysqld
sudo systemctl enable mysqld
```
#### 4. 获取初始密码并安全配置
```bash
# 获取临时root密码
sudo grep 'temporary password' /var/log/mysqld.log
# 运行安全脚本(替换your_password为强密码)
sudo mysql_secure_installation
```
在交互式配置中:
1. 输入临时密码
2. 设置新密码(需包含大小写字母、数字和特殊字符)
3. 移除匿名用户:`Y`
4. 禁止远程root登录:`Y`
5. 移除测试数据库:`Y`
6. 刷新权限:`Y`
#### 5. 验证安装
```bash
mysql -u root -p -e "SELECT VERSION();"
```
应输出类似:`5.7.42-log`
#### 6. 防火墙配置(可选)
```bash
sudo firewall-cmd --add-service=mysql --permanent
sudo firewall-cmd --reload
```
### 常见问题解决
1. **依赖错误**:若出现`libcrypto.so.10`缺失
```bash
# 安装兼容库
sudo dnf install -y compat-openssl10
```
2. **GPG密钥验证失败**:
```bash
sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
```
3. **连接问题**:
```bash
# 编辑配置文件
sudo vi /etc/my.cnf
# 添加绑定地址
[mysqld]
bind-address = 0.0.0.0
```
### 注意事项
1. MySQL 5.7于2023年10月结束官方支持,建议生产环境使用MySQL 8.0
2. CentOS 9默认使用OpenSSL 3.x,而MySQL 5.7需要OpenSSL 1.x,需安装兼容层
3. 若需更高兼容性,可考虑使用Docker容器方案:
```bash
docker run --name mysql57 -e MYSQL_ROOT_PASSWORD=your_pass -d mysql:5.7
```
阅读全文
相关推荐
















