mysql - MySQL 客户端中有哪些可用的密码?
问题描述
尝试使用 SSLmysql
和Workbench连接到远程 MySQL 5.6(Percona 节点)服务器时出现神秘错误。我已经制作了自己的签名证书和自己的 CA。
mysql -h host -p -u user --ssl-ca=ca-cert.pem
ERROR 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 编译的。
解决方案
阅读手册页https://dev.mysql.com/doc/refman/5.7/en/encrypted-connection-protocols-ciphers.html
它列出了 MySQL 传递给 OpenSSL 和 yaSSL 的密码。您的客户端可能使用 OpenSSL 或 yaSSL 中的一种或另一种进行编译。
推荐阅读
- r - tidyverse 中的重命名功能无法按预期工作
- db2 - 清除 DB2 中的事务数据
- python - 当用户输入为空时Python引发错误
- excel - 如何在 VBA 中定义下一个循环的范围
- windows - 如何写入 BitLocker 加密卷的物理扇区?
- python - Django 路径不起作用,它会将我引导到错误的网站
- javascript - vue watch sublist如何变化或v-model
- javascript - 如何为我的应用获取 Shopify 商店产品的所有数据?
- c# - 当我更新现有数据时 System.Reflection.TargetException ERROR
- excel - Excel / Apache POI:如何转义 Excel 单元格的字符串?