我已经在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安装支持哪些密码。