我正在尝试从 Windows 10 连接到 Ubunutu 14.04。我正在使用 ssh。 连接似乎已登录到计算机,但未连接到数据库。我知道我使用的是正确的密码。 错误信息是:
Failed to connect to MYSQL at localhost:3306 through SSH tunnel at username@xx.xx.xx.xx with user xxxx
Unable to establish SSL connection
日志显示:
12:27:02 [INF][ SSH tunnel]: Existing SSH tunnel not found, opening new one
12:27:06 [INF][ SSH tunnel]: Opening SSH tunnel to xx.xx.xx.xx:22
12:27:08 [INF][ SSH tunnel]: TunnelManager.wait_connection returned OK
12:27:08 [INF][sshtunnel.py:set_keepalive:502]: SSH KeepAlive setting skipped.
12:27:08 [INF][ SSH tunnel]: SSH tunnel connect executed OK
我要连接的用户是这样创建的:
mysql> create database fred
mysql> CREATE USER 'fred'@'localhost' IDENTIFIED BY 'xxxx';
mysql> CREATE USER 'fred'@'%' IDENTIFIED BY 'xxx';
mysql> grant all privileges on fred.* to 'fred'@'x';
mysql> grant all privileges on fred.* to 'fred@'%'
我可以像这样从远程 ubuntu 机器连接;
mysql --user=fred --host=xx.xx.xx.xx --port=3306 -p
/var/log/mysql 中没有提到连接
/var/log/auth 显示
Dec 7 14:03:46 www.example.com sshd[14474]: error: Could not load host key: /etc/ssh/ssh_host_ed25519_key
Dec 7 14:03:47 www.example.com sshd[14474]: Accepted publickey for root from xx.xx.xx.xx port 53591 ssh2: RSA ...
Dec 7 14:03:47 www.example.com sshd[14474]: pam_unix(sshd:session): session opened for user root by (uid=0)
ssh 连接到 root,但我已经用非 root 用户尝试过,没有任何区别。
这些是连接选项卡中的详细信息:
SSH Hostname: xx.xx.xx.xx
SSH Username root
SSH KeyFile: [dir]\.ssh\id_rsa
MySQL Hostname:localhost
MySQL Server Port: 3306
username: xxxx
最佳答案
仔细查看错误信息。它说无法建立 SSL 连接。它没有说明任何关于 SSH 的信息。所以我猜 MySQL Workbench 设置为对连接使用 SSL 加密,服务器不支持。您可以在连接设置中更改它:
或者,您可以使用 SSL 向导(也可从此页面获得)为正确的 SSL 连接生成 SSL 证书。
好消息:从服务器 5.7.9 开始,默认启用 SSL,服务器和客户端软件会自动设置 SSL 详细信息。 MySQL Workbench 当然也适用于此。
关于mysql - 无法从 MySQL Workbench 建立远程连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34134400/