首页 帮助中心 新加坡云服务器 Ubuntu上怎么使用SSL远程连接MySQL服务器?
Ubuntu上怎么使用SSL远程连接MySQL服务器?
时间 : 2023-12-14 13:58:42 编辑 : 华纳云 阅读量 : 240

在Ubuntu上使用SSL远程连接MySQL服务器,需要进行一系列的配置。以下是基本的步骤:

1. 生成SSL证书和密钥:

首先,使用 OpenSSL 工具生成 SSL 证书和密钥。打开终端,执行以下命令:

sudo mkdir /etc/mysql/ssl
sudo openssl req -newkey rsa:2048 -nodes -keyout /etc/mysql/ssl/mysql-server-key.pem -out /etc/mysql/ssl/mysql-server-req.pem
sudo openssl x509 -req -sha256 -days 365 -in /etc/mysql/ssl/mysql-server-req.pem -signkey /etc/mysql/ssl/mysql-server-key.pem -out /etc/mysql/ssl/mysql-server-cert.pem

这将在 /etc/mysql/ssl/ 目录下生成 MySQL 服务器的证书和密钥。

2. 配置MySQL服务器:

编辑 MySQL 配置文件以启用 SSL。打开终端,执行以下命令:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

在文件中添加以下配置:

[mysqld]
ssl-ca=/etc/mysql/ssl/mysql-server-cert.pem
ssl-cert=/etc/mysql/ssl/mysql-server-cert.pem
ssl-key=/etc/mysql/ssl/mysql-server-key.pem

保存并关闭文件。然后,重新启动 MySQL 服务:

sudo service mysql restart

3. 创建MySQL用户并授权:

创建一个具有SSL连接权限的MySQL用户。在MySQL中,执行以下SQL命令:

CREATE USER 'your_user'@'%' IDENTIFIED BY 'your_password' REQUIRE SSL;
GRANT ALL PRIVILEGES ON your_database.* TO 'your_user'@'%' REQUIRE SSL;
FLUSH PRIVILEGES;

替换 'your_user'、'your_password' 和 your_database 为实际的用户名、密码和数据库名称。

4. 配置MySQL客户端:

确保你的MySQL客户端支持SSL连接。如果使用 MySQL 客户端工具,确保它支持SSL选项。连接到MySQL时,可以使用以下命令:

mysql -u your_user -p --host=your_mysql_server_ip --ssl-key=/path/to/your/client-key.pem --ssl-cert=/path/to/your/client-cert.pem --ssl-ca=/path/to/mysql-server-cert.pem

替换 your_user、your_mysql_server_ip 以及证书和密钥的路径。

5. 测试SSL连接:

使用上述配置连接到MySQL服务器,确保SSL连接正常运行:

mysql -u your_user -p --host=your_mysql_server_ip --ssl-key=/path/to/your/client-key.pem --ssl-cert=/path/to/your/client-cert.pem --ssl-ca=/path/to/mysql-server-cert.pem

输入密码后,应该能够成功连接到MySQL服务器。

 

华纳云 推荐文章
Linux检查程序和监听端口的方法 docker怎么修改容器网络配置 linux怎么挂载windows共享目录 docker如何创建私有镜像registry centos7怎么安装部署php环境 怎么测试新加坡vps云服务器的I/O性能 centos7如何查看阵列卡配置信息 linux中iso文件错误提示怎么解决 在Docker中运行MySQL容器的方法 linux crontab错误日志如何看
客服咨询
7*24小时技术支持
技术支持
渠道支持