首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将ssl与mysql集成-拒绝访问

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

Stack Overflow用户
提问于 2013-03-14 06:43:24
回答 1查看 6.6K关注 0票数 7

我试图通过引用sslmysql设置

我能够完成前三个步骤,但是第四个步骤有问题,如下所示:

代码语言:javascript
复制
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‘(使用密码:YES)的访问

这里使用的是3306,因为它是我的默认端口。

当我已经执行了GRANT语句时,它如何说访问被拒绝了。

注意到

  • 我在mysql -ussluser -pssluser之前使用GRANT语句与REQUIRE SSL一起执行了之前的,并且能够连接到mysql
  • 如果我尝试SHOW GRANTS FOR 'ssluser'@'localhost'; 我得到了 授予由密码\*C56A6573BEE146CB8243543295FD80ADCE588EFF\‘标识的*.*到\’ssluser\@\‘localhost\’的所有特权,并使用GRANT选项要求SSL。
  • 在执行GRANT语句之前,我能够通过ssluser连接到工作台。但现在它给了访问权,拒绝了错误。
  • 当我使用show global variables like 'have_%ssl';时 have_openssl禁用have_ssl
  • 当我使用这个SHOW STATUS LIKE 'Ssl_cipher';时 Ssl_cipher _________
  • 我已经创建了所有服务器和客户端certificates,并将它们放在mysql server根目录中的certs目录中。

我试了几天,但什么也没发现。任何帮助都很感激。

我第一次这么做。有人能指导我通过详细的程序来做这个吗?

EN

回答 1

Stack Overflow用户

发布于 2014-01-29 16:11:47

今天我遇到了一个类似的错误信息,下面是我的发现。

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

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

代码语言:javascript
复制
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'@'%';
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15402828

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档