mysql - 无法从 MySQL Workbench 建立远程连接

标签 mysql ssh mysql-workbench

我正在尝试从 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 加密,服务器不支持。您可以在连接设置中更改它:

enter image description here

或者,您可以使用 SSL 向导(也可从此页面获得)为正确的 SSL 连接生成 SSL 证书。

好消息:从服务器 5.7.9 开始,默认启用 SSL,服务器和客户端软件会自动设置 SSL 详细信息。 MySQL Workbench 当然也适用于此。

关于mysql - 无法从 MySQL Workbench 建立远程连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34134400/

相关文章:

MySQL Workbench 如何使用文件的每一行作为输入来运行相同的查询?

php - 检查用户名是否存在,如果存在则生成新用户名 PHP

mysql - 无法在 Ubuntu 14.04 上启动 mysql 服务器

git - Atlassian/BitBucket Sourcetree SSH 公钥被拒绝

bash - SSH登录后如何清除终端?

php - Docker 镜像不会连接到 MySQL Workbench

mysql - 错误代码: 1452 on UPDATE MySQL

mysql - SQL 无法添加或更新子行 : a foreign key constraint

php - 在 if 条件下更改全局变量值,然后在 else 中访问该值

bash - 使用 SSH key 登录在 Git Bash 上不起作用,但在 Windows 命令提示符中起作用