在CentOS上安装MySQL SSL证书的步骤如下:
方法一:使用Let’s Encrypt自动获取证书
-
安装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
验证SSL连接
-
登录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证书。