我正在尝试设置ssl
for mysql
通过提及this http://www.chriscalender.com/?p=448.
我能够完成前 3 个步骤,但第四个步骤出现问题,如下所示:
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
before using GRANT声明与REQUIRE SSL
我能够连接到mysql
.
-
如果我尝试SHOW GRANTS FOR 'ssluser'@'localhost';
I get
GRANT ALL PRIVILEGES ON *.* TO \'ssluser\'@\'localhost\' IDENTIFIED BY PASSWORD \'*C56A6573BEE146CB8243543295FD80ADCE588EFF\' REQUIRE SSL WITH GRANT OPTION
执行前GRANT声明,我能够连接到工作台通过ssluser。但现在它的给予拒绝访问 error.
-
当我使用show global variables like 'have_%ssl';
I get
have_openssl 已禁用
have_ssl 已禁用
-
当我使用这个时SHOW STATUS LIKE 'Ssl_cipher';
I get
SSL_密码_________
我已经创建了所有服务器和客户端证书并将它们放入certs
里面的目录mysql server
根目录。
我尝试了几天但一无所获。任何帮助表示赞赏。
我是第一次这样做。谁能指导我完成详细的程序来做到这一点?
我今天遇到了类似的错误消息,这就是我发现的。
- GRANT 的“REQUIRE SSL”选项仅需要 SSL 进行连接,不需要提供客户端证书。
- mysql CLI 不像我预期的那样处理 SSL。例如,在 MySQL 5.5 上,
--ssl
选项似乎并没有真正启用 SSL 传输。
- 我必须添加选项
--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'@'%';
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)