在Debian上为MySQL启用SSL加密,你需要按照以下步骤操作:
sudo apt-get update
sudo apt-get install mysql-server
sudo apt-get install certbot python3-certbot-mysql
sudo certbot certonly --mysql -d yourdomain.com --mysql-server=root:yourpassword --mysql-user=mysql -m your-email@example.com
这将生成SSL证书和密钥文件,通常位于/etc/letsencrypt/live/yourdomain.com/
目录下。
/var/lib/mysql/
):sudo cp /etc/letsencrypt/live/yourdomain.com/fullchain.pem /var/lib/mysql/yourdomain.com.crt
sudo cp /etc/letsencrypt/live/yourdomain.com/privkey.pem /var/lib/mysql/yourdomain.com.key
/etc/mysql/mysql.conf.d/mysqld.cnf
或/etc/mysql/my.cnf
),在[mysqld]
部分添加以下内容:ssl-ca=/var/lib/mysql/yourdomain.com.crt
ssl-cert=/var/lib/mysql/yourdomain.com.crt
ssl-key=/var/lib/mysql/yourdomain.com.key
确保将yourdomain.com
替换为你的实际域名。
sudo systemctl restart mysql
mysql -u root -p
在MySQL命令行中,运行以下命令:
SHOW VARIABLES LIKE '%ssl%';
如果一切正常,你应该看到have_ssl
变量设置为YES
。
现在,你的Debian MySQL服务器已启用SSL加密。客户端连接时需要使用SSL选项,否则将无法建立连接。