gpt4 book ai didi

mysql - 将 ssl 与 mysql 集成 - 访问被拒绝

转载 作者:可可西里 更新时间:2023-11-01 06:43:58 25 4
gpt4 key购买 nike

我正在尝试通过引用 thismysql 设置 ssl .
我能够完成前 3 个步骤,但在第 4 个步骤中遇到问题,如下所示:

GRANT ALL PRIVILEGES ON *.* TO 'ssluser'@'localhost' IDENTIFIED BY 'ssluser' REQUIRE SSL;
FLUSH PRIVILEGES;

然后我重新启动 mysql 服务器。

在我尝试运行 mysql -ussluser -pssluser -P3306 --ssl-key="C:\Program Files\MySQL\MySQL Server 5.5\certs\ca-cert.pem"
它显示以下错误:用户 'ssluser'@'localhost' 的访问被拒绝(使用密码:是)
我正在使用 3306 这里是我的默认端口。

当我已经执行了 GRANT 语句时,它怎么会说 Access Denied

注意

  • 我执行了 mysql -ussluser -pssluser 之前 使用 GRANT 语句和 REQUIRE SSL 并且我能够连接到 mysql

  • 如果我尝试 SHOW GRANTS FOR 'ssluser'@'localhost';
    我明白了

    GRANT ALL PRIVILEGES ON *.* TO \'ssluser\'@\'localhost\' IDENTIFIED BY PASSWORD \'*C56A6573BEE146CB8243543295FD80ADCE588EFF\' REQUIRE SSL WITH GRANT OPTION
  • 在执行 GRANT 语句之前,我能够通过 ssluser 连接到 workbench。但现在它给出了访问被拒绝错误。

  • 当我使用 show global variables like 'have_%ssl'; 我得到

    禁用_opensslhave_ssl 已禁用

  • 当我使用这个SHOW STATUS LIKE 'Ssl_cipher'; 我得到

    SSL_cipher __________

  • 我已经创建了所有服务器和客户端证书,并将它们放在 mysql server 根目录下的 certs 目录中。

我已经尝试了几天,但一无所获。任何帮助表示赞赏。

我是第一次这样做。任何人都可以指导我完成执行此操作的详细过程吗?

最佳答案

今天我遇到了类似的错误消息,这是我发现的。

  1. GRANT 的“REQUIRE SSL”选项只需要 SSL 连接,不需要提供客户端证书。
  2. mysql CLI 没有像我预期的那样处理 SSL。例如,在 MySQL 5.5 上,--ssl 选项似乎并没有真正启用 SSL 传输。
  3. 我必须添加选项 --ssl-cipher=DHE-RSA-AES256-SHA:AES128-SHA 让 mysql 客户端真正使用 SSL 并允许对客户端进行身份验证。

以下是我用来设置新用户的具体步骤:

CREATE USER 'ssl-user'@'%' identified by '<password>';
GRANT USAGE ON *.* TO 'ssl-user'@'%' identified by '<password>' REQUIRE SSL;
GRANT ALL PRIVILEGES ON `your-database`.* TO 'ssl-user'@'%';

关于mysql - 将 ssl 与 mysql 集成 - 访问被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15402828/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com