这个程序创建SSL证书、密钥文件和RSA密钥对文件,以支持使用SSL的安全连接,并在未加密的连接上使用RSA进行安全密码交换,如果这些文件丢失的话。mysql_ssl_rsa_setup如果现有的SSL文件已经过期,还可以用来创建新的SSL文件。
mysql_ssl_rsa_setup使用openssl命令,所以它的使用取决于在您的机器上安装了OpenSSL。
对于使用OpenSSL编译的MySQL发行版,生成SSL和RSA文件的另一种方法是让服务器自动生成它们。看到第6.3.3.1节“使用MySQL创建SSL和RSA证书和密钥”.
mysql_ssl_rsa_setup帮助降低使用SSL的障碍,使其更容易生成所需的文件。生成的证书mysql_ssl_rsa_setup都是自签名的,不太安全。在您获得使用由创建的文件的经验之后mysql_ssl_rsa_setup,可考虑向已注册证书颁发机构申领核证机关证书。
调用mysql_ssl_rsa_setup是这样的:
mysql_ssl_rsa_setup [选项]
典型的选项——datadir
指定创建文件的位置,以及——详细
去看openssl命令,mysql_ssl_rsa_setup执行。
mysql_ssl_rsa_setup尝试使用默认的文件名集创建SSL和RSA文件。其工作原理如下:
mysql_ssl_rsa_setup检查openssl的指定位置上的二进制文件
路径
环境变量。如果openssl没有找到,mysql_ssl_rsa_setup什么也不做。如果openssl存在,mysql_ssl_rsa_setup方法指定的MySQL数据目录中查找默认的SSL和RSA文件——datadir
选项,或编译后的数据目录——datadir
选项未给出。mysql_ssl_rsa_setup检查data目录中是否有以下名称的SSL文件:
ca.pem server-cert。pem server-key.pem
如果这些文件出现了,mysql_ssl_rsa_setup不创建SSL文件。否则,它调用openssl要创建它们,还要添加一些额外的文件:
CA .pem自签名CA证书CA -key。server-cert. pem CA私钥。Server -key. pem服务器证书。client-cert. pem服务端私钥。Client -key. pem客户端证书。pem客户端私钥
这些文件启用使用SSL的安全客户端连接;看到第6.3.1节“配置MySQL使用加密连接”.
mysql_ssl_rsa_setup检查data目录中是否有以下名称的RSA文件:
private_key。私钥/公钥对public_key的私钥成员。pem私钥/公钥对的公共成员
如果这些文件出现了,mysql_ssl_rsa_setup不创建RSA文件。否则,它调用openssl创建它们。这些文件支持使用RSA在未加密的连接上对通过认证的帐户进行安全密码交换
sha256_password
或caching_sha2_password
插件;看到第6.4.1.3节“SHA-256可插式认证”,第6.4.1.2节,“缓存SHA-2可插入认证”.
所创建的文件的特征的有关信息mysql_ssl_rsa_setup,请参阅第6.3.3.1节“使用MySQL创建SSL和RSA证书和密钥”.
在启动时,MySQL服务器自动使用由mysql_ssl_rsa_setup如果没有明确的SSL选项,则启用SSL——ssl
(可能还有ssl_cipher
).如果希望显式指定文件,请使用——ssl-ca
,——ssl-cert
,——ssl密钥
选项在启动时命名ca.pem
,server-cert.pem
,server-key.pem
文件,分别。
服务器还会自动使用mysql_ssl_rsa_setup如果没有给出明确的RSA选项,则启用RSA。
如果服务器启用SSL,则客户端默认使用SSL进行连接。要显式指定证书和密钥文件,请使用——ssl-ca
,——ssl-cert
,——ssl密钥
选项来命名ca.pem
,client-cert.pem
,client-key.pem
文件,分别。但是,首先可能需要一些额外的客户机设置,因为mysql_ssl_rsa_setup默认情况下,在data目录中创建这些文件。data目录的权限通常只允许访问运行MySQL服务器的系统帐户,因此客户端程序不能使用位于那里的文件。要使文件可用,请将它们复制到可读的目录(但是不客户可写):
对于本地客户端,可以使用MySQL安装目录。例如,如果data目录是安装目录的子目录,并且您当前的位置是data目录,您可以像这样复制文件:
cp ca.pem client-cert。pem client-key。pem . .
对于远程客户端,使用安全通道分发文件,以确保它们在传输过程中不被篡改。
如果用于MySQL安装的SSL文件已经过期,您可以使用mysql_ssl_rsa_setup要创建新的对象:
停止服务器。
重命名或删除现有的SSL文件。您可能希望先对它们进行备份。(RSA文件不会过期,所以不需要删除它们。mysql_ssl_rsa_setup可以看到它们的存在,并且不覆盖它们。)
运行mysql_ssl_rsa_setup与
——datadir
选项指定在何处创建新文件。重新启动服务器。
mysql_ssl_rsa_setup支持以下命令行选项,这些选项可以在命令行或(mysql_ssl_rsa_setup)
而且(mysqld)
选项文件的分组。有关MySQL程序使用的选项文件的信息,请参见第4.2.2.2节“使用选项文件”.
——帮助
,?
显示帮助消息并退出。
目录的路径mysql_ssl_rsa_setup应该检查默认的SSL和RSA文件,如果它们丢失了,它应该在其中创建文件。默认是编译后的数据目录。
X.509证书中的Common Name属性的后缀。后缀值不超过17个字符。默认是基于MySQL版本号。
——uid =名字
,- v
应该是任何已创建文件的所有者的用户名。该值是用户名,而不是数字用户ID。如果没有此选项,则由mysql_ssl_rsa_setup都属于执行它的用户。此选项仅当您以
根
在支持的系统上乔恩()
系统调用。——详细
,- v
详细的模式。产生更多关于程序所做工作的输出。例如,该程序显示openssl命令,并生成输出,以指示是否因为某些默认文件已经存在而跳过SSL或RSA文件的创建。
——版本
,- v
显示版本信息并退出。