当前位置: 首页 > 知识库问答 >
问题:

MYSQL远程连接需要SSL

闾丘德宇
2023-03-14

我正在为自己清除一些涉及到MYSQL的远程SSL连接的信息。特别是,一旦我设置了MYSQL以启用SSL并有一个需要SSL的远程用户。

这就是我如何与需要SSL的用户远程连接(命令行)到MYSQL的方式:

mysql-uMyUserName-p-h192.168.5.5-sslca/path/to/ca.pem


我的问题是:为什么我必须作为客户端提供ca.pem文件?


以下是我在服务器上安装mysql并设置远程访问(Ubuntu)的步骤:

1) 获取我的证书颁发机构证书、数据库证书、数据库密钥

  • ca.pem(证书授权中心cert)
  • dbcert.pem(数据库证书)
  • dbkey.pem(数据库密钥)

2)添加以下行到 /etc/mysql/my.cnf下[mysqld]

ssl ca=/path/to/ca。pem ssl证书=/path/to/dbcert。pem ssl key=/path/to/dbkey.pem

3) 重新启动mysql,并通过登录并键入以下内容确认ssl已启用:

显示像'%ssl%'这样的变量;



1)在 /etc/mysql/my.cnf中注释出以下行

#绑定地址
#跳过网络

2) 登录mysql并授予用户对每个数据库的访问权限(在本例中)

将上的所有权限授予由“PASSWORD”标识的“USERNAME”@“%”,需要SSL


现在,我已经设置了MYSQL来启用SSL

为什么我必须从客户端提供ssl ca?有没有办法做到这一点,这样我就不必了?

我真的很想在这里了解一些情况。

提前谢谢。

共有1个答案

南门展
2023-03-14

与典型的web浏览器不同,mysql之类的命令行工具没有内置的证书颁发机构列表。浏览器附带了一个内置的证书颁发机构列表,您可以隐式信任它们(无论您是否知道)。

当您使用mysql登录到支持加密的MySQL服务器时,该服务器将向您展示证书的公共部分。要完成安全握手,您的客户端需要验证服务器证书是否由受信任的证书颁发机构签名。否则,它将不得不说“嘿,这看起来像一个格式良好的证书,但我从未听说过ca签署它。”

对于Hibernate/JDBC/TLS,搜索引擎的一些工作提供了一些有用的建议。这一切都是关于在配置中设置正确的属性。

http://razorsql.com/articles/mysql_ssl_jdbc.html

如何配置Hibernate以使用SSL与DB服务器通信?

 类似资料:
  • 问题内容: 我一直在localhost上建立一个网络,当我尝试在主机上移动它时,它显示了很多错误。似乎无法连接到我的本地数据库。这是代码: 这是输出: 感谢帮助 问题答案: 这是mysql用户权限问题。例如,使用phpmyadmin创建一个新用户,如果从localhost连接,则将其主机设置为localhost;如果从外部连接,则将其主机设置为%。

  • 问题内容: 由于某些原因,我无法远程连接到我的MySQL服务器。我已经尝试了一切,但仍然遇到错误。 现在,我尝试跑步 还是一无所有!我做错了什么? 编辑 :已注释掉绑定ip。 问题答案: 要将MySQL暴露给localhost以外的任何东西,您将必须具有以下行 对于mysql 5.6及以下版本 取消注释并分配给您的计算机IP地址,并且不环回 对于mysql 5.7及更高版本 取消注释并分配给您的计

  • 问题内容: 我的Node Web应用程序需要一个持久的MySQL连接。问题是每天大约发生几次这种情况: 这是我的连接代码: 如您所见,handleDisconnect代码不起作用。 问题答案: 使用mysql连接池。当连接断开时它将重新连接,您将获得额外的好处,即能够同时进行多个sql查询。如果您不使用数据库池,则您的应用将在等待当前运行的数据库请求完成时阻止数据库请求。 我通常定义一个数据库模块

  • 一般信息: Windows 7 x86 Microsoft Visual C++2008 Mysql 5.6 Mysql连接器C++1.1.3 我正在尝试创建与mysql数据库一起工作的简单C++应用程序。我下载并安装了mysql和mysql C++连接器。 我还配置了visual studio for dynamic library,如本文所述:http://dev.mysql.com/doc/

  • 1、启动MySQL管理工具.bat,并登录 2、选择菜单 工具 -> 用户管理 3、选择root,然后按下图所示选择“从任意地点访问” 4、保存[/fusion_text]

  • “无法确定数据库类型None的嵌入式数据库驱动程序类” 我应该给Application.Properties中的spring.datasource.url值什么?或者其他建议?谢了。