mysql客户端有哪些密码?

bkhjykvo  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(455)

我在尝试连接到远程mysql 5.6(percona节点)服务器时遇到了一个神秘的错误 mysql 以及使用ssl的工作台。我已经做了我自己的签名证书和我自己的ca。 mysql -h host -p -u user --ssl-ca=ca-cert.pem 错误2026(hy000):ssl连接错误:协议版本不匹配
我读过很多书,说我应该包括密码选项。因此,我ssh到服务器中,并重新运行相同的命令(没有主机)为本地连接获取密码。

mysql>  show session status like '%cipher';
+---------------+-----------------------------+
| Variable_name | Value                       |
+---------------+-----------------------------+
| Ssl_cipher    | ECDHE-RSA-AES128-GCM-SHA256 |
+---------------+-----------------------------+

当我重试包含密码时,我会收到下一条错误消息。 mysql -h host -p -u user --ssl-ca=ca-cert.pem --ssl-cipher=ECDHE-RSA-AES128-GCM-SHA256 错误2026(hy000):ssl连接错误:未能设置要使用的密码
我从使用sha2连接mysql了解到,我的客户机很可能无法使用sha256或更高版本进行连接。
我检查了不具有高sha的可用服务器密码:

ECDHE-RSA-AES128-SHA
ECDHE-ECDSA-AES128-SHA
ECDHE-RSA-AES256-SHA
ECDHE-ECDSA-AES256-SHA
DHE-DSS-AES128-SHA
DHE-RSA-AES128-SHA
DHE-RSA-AES256-SHA
AES128-SHA
DH-DSS-AES128-SHA
ECDH-ECDSA-AES128-SHA
AES256-SHA
DH-DSS-AES256-SHA
ECDH-ECDSA-AES256-SHA

我试过这些密码都没用。有人能帮我诊断这个问题吗?我的证书有问题吗?还是证书决定了密码?

更新:链接库

我已经检查了我的服务器, mysqld 的ssl链接到

libssl.so.1.0.0 => /lib/x86_64-linux-gnu/libssl.so.1.0.0

尽管如此,我还是知道percona版本是与openssl链接的。客户端是根据

linux-vdso.so.1 => 
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0
libz.so.1       => /lib/x86_64-linux-gnu/libz.so.1
libdl.so.2      => /lib/x86_64-linux-gnu/libdl.so.2
libtinfo.so.5   => /lib/x86_64-linux-gnu/libtinfo.so.5
libstdc++.so.6  => /usr/lib/x86_64-linux-gnu/libstdc++.so.6
libm.so.6       => /lib/x86_64-linux-gnu/libm.so.6
libgcc_s.so.1   => /lib/x86_64-linux-gnu/libgcc_s.so.1
libc.so.6       => /lib/x86_64-linux-gnu/libc.so.6
/lib64/ld-linux-x86-64.so.2```

我没有看到任何与ssl有关的东西,但是 libdl 存在,这意味着可能存在动态加载。但是,我怀疑这个客户机很可能是为yassl编译的。

yqhsw0fo

yqhsw0fo1#

阅读手册页https://dev.mysql.com/doc/refman/5.7/en/encrypted-connection-protocols-ciphers.html
它列出了mysql传递给openssl和yassl的密码。您的客户机可以使用openssl或yassl中的一种或另一种进行编译。

相关问题