我已经在mysql 5.5.34上启用了SSL [CentOS版本6.4(最终版)]

我们有两个Linux用户:“root”和“admin”

和2个mysql用户:“root”和“mysqladmin”

我还使用以下命令创建了一个名为sslclient的mysql用户:

GRANT ALL PRIVILEGES ON *.* TO sslclient@'%' REQUIRE SSL;
GRANT ALL PRIVILEGES ON *.* TO sslclient@'localhost' REQUIRE SSL;

我必须执行“chown mysql.mysql/etc/mysqlssl/*”和“chmod 440/etc/mysqlssl/*”才能启用SSL

通过“显示类似'%ssl%'的变量”来确保启用了SSL
+---------------+-------------------------------+
| Variable_name | Value |
+---------------+-------------------------------+
| have_openssl | YES |
| have_ssl | YES |
| ssl_ca | /etc/mysqlssl/ca-cert.pem |
| ssl_capath | |
| ssl_cert | /etc/mysqlssl/server-cert.pem |
| ssl_cipher | |
| ssl_key | /etc/mysqlssl/server-key.pem |
+---------------+-------------------------------+

我们面临两个问题:

1)当我尝试使用(从Linux“管理员”用户)连接MySQL时
mysql -u sslclient --ssl-ca=/etc/mysqlssl/ca-cert.pem

给我错误:“错误2026(HY000):SSL连接错误:无法设置要使用的密码”

2)我只能使用mysql“root”用户连接mysql(从linux“root”用户),而不使用其他任何用户说“mysqladmin”或“sslclient”,即
"mysql -u mysqladmin"给我下面的错误

“拒绝用户'mysqladmin'@'localhost'的访问(使用密码:是)”

这两个问题之间有联系吗?

上述问题的原因和/或解决方法是什么?

最佳答案

您必须provide an SSL cipher option:



本文档引用命令行程序,但您也可以在配置文件中进行设置:

ssl_cipher=DHE-RSA-AES256-SHA:AES256-SHA:AES128-SHA

您可以指定要使用的冒号分隔的密码列表,并通过在mysql提示符下运行SHOW STATUS LIKE 'Ssl_cipher_list';来确定MySQL安装支持哪些密码。

09-10 03:47