我正在尝试在Windows上的MySQL上启用TLS,并尝试了以下步骤:

c:/mysqlCert> openssl genrsa 2048 > ca-key.pem
c:/mysqlCert> openssl req -new -x509 -nodes -days 3600 -key ca-key.pem -out ca.pem
c:/mysqlCert> openssl req -newkey rsa:2048 -days 3600 -nodes -keyout server-key.pem -out server-req.pem
c:/mysqlCert> openssl rsa -in server-key.pem -out server-key.pem
c:/mysqlCert> openssl x509 -req -in server-req.pem -days 3600 -CA ca.pem -CAkey ca-key.pem -set_serial 01 -out server-cert.pem
c:/mysqlCert> openssl req -newkey rsa:2048 -days 3600 -nodes -keyout client-key.pem -out client-req.pem
c:/mysqlCert> openssl x509 -req -in client-req.pem -days 3600 -CA ca.pem -CAkey ca-key.pem -set_serial 01 -out client-cert.pem
c:/mysqlCert> openssl verify -CAfile ca.pem server-cert.pem client-cert.pem


现在在mysqlCert中,我得到以下文件:

mysql - 无法在Windows的mysql中启用SSL-LMLPHP

在[mysqld]下的my.ini文件中,添加了以下内容:

    ssl-ca     = "C:\mysqlCert\ca.pem"
    ssl-cert   = "C:\mysqlCert\server-cert.pem"
    ssl-key    = "C:\mysqlCert\server-key.pem"


在上面之后,我输入命令:

  SHOW GLOBAL VARIABLES LIKE 'have_%ssl';


而且我没有看到OpenSSL已启用,它仍然是DISABLED和指向SSL文件的SSLL变量,如下所示:

mysql - 无法在Windows的mysql中启用SSL-LMLPHP

所以,请帮助我,我做错了什么。

最佳答案

在mysqld bloc中,将“ \”改为“ /”:因为这样,因为您在Windows env中

ssl-ca     = "C:/mysqlCerts/ca-cert.pem"
ssl-cert   = "C:/mysqlCerts/server-cert.pem"
ssl-key    = "C:/mysqlCerts/server-key-ppless.pem"

07-24 09:44
查看更多