在CentOS上安装MySQL SSL证书的步骤如下:
安装Certbot: Certbot是一个自动化的工具,可以用来获取和续订Let’s Encrypt证书。
sudo yum install epel-release
sudo yum install certbot python2-certbot-mysql
获取证书:
运行Certbot命令来获取证书。假设你的域名是yourdomain.com
。
sudo certbot certonly --mysql --mysql-server=your_mysql_server --mysql-user=your_mysql_user --mysql-password=your_mysql_password --mysql-db=your_mysql_db --agree-tos --email=your_email@example.com
这将生成证书文件(通常在/etc/letsencrypt/live/yourdomain.com/
目录下)和私钥文件(通常在/etc/letsencrypt/live/yourdomain.com/privkey.pem
)。
配置MySQL:
编辑MySQL配置文件(通常是/etc/my.cnf
或/etc/mysql/my.cnf
),添加以下内容:
[mysqld]
ssl-ca=/etc/letsencrypt/live/yourdomain.com/chain.pem
ssl-cert=/etc/letsencrypt/live/yourdomain.com/fullchain.pem
ssl-key=/etc/letsencrypt/live/yourdomain.com/privkey.pem
重启MySQL服务:
sudo systemctl restart mysqld
获取证书: 你可以从Let’s Encrypt或其他证书颁发机构(CA)获取证书文件。通常包括以下文件:
ca.pem
:CA证书server-cert.pem
:服务器证书server-key.pem
:服务器私钥配置MySQL:
编辑MySQL配置文件(通常是/etc/my.cnf
或/etc/mysql/my.cnf
),添加以下内容:
[mysqld]
ssl-ca=/path/to/ca.pem
ssl-cert=/path/to/server-cert.pem
ssl-key=/path/to/server-key.pem
重启MySQL服务:
sudo systemctl restart mysqld
登录MySQL并检查SSL状态:
mysql -u your_mysql_user -p
在MySQL命令行中,运行以下命令来检查SSL连接状态:
SHOW VARIABLES LIKE '%ssl%';
你应该看到have_ssl
变量设置为YES
。
测试SSL连接: 你可以使用以下命令来测试SSL连接:
mysql -u your_mysql_user -p --ssl-mode=REQUIRED
如果连接成功,说明SSL配置正确。
通过以上步骤,你应该能够在CentOS上成功安装和配置MySQL的SSL证书。