无法通过数字海洋上的Sequel Pro连接到sql server

时间:2016-05-16 12:35:05

标签: mysql digital-ocean

我想连接到托管在数字海洋上的数据库服务器。因此我配置了我的Sequel Pro设置:

enter image description here

我得到的错误是:

enter image description here

在我的服务器上,端口3306是允许通过`ufw allow 3306 / tcp'并且ufw服务已重新启动。我仍然无法连接。我被要求提供SSH服务的密码,这有效,但随后出现错误。我在哪里需要重新配置我的设置?

1 个答案:

答案 0 :(得分:0)

如果您知道当前的MySQL密码,请通过terminal与它连接。 之后,运行此命令

SELECT user,authentication_string,plugin,host FROM mysql.user;

您也许会得到类似的东西

mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;
+------------------+-------------------------------------------+-----------------------+-----------+
| user             | authentication_string                     | plugin                | host      |
+------------------+-------------------------------------------+-----------------------+-----------+
| root             |                                           | auth_socket           | localhost |
| mysql.session    | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys        | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *EFBDB02467A8AB572944B873296089BB6607492C | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+
4 rows in set (0.00 sec)

您可以看到,插件是auth_socket,这导致了问题。让我们更新它以使用root密码

'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'DO_PASSWORD_HERE';

然后刷新特权以使更新生效。

FLUSH PRIVILEGES;

然后exit;并重新启动MySQL service mysql restart

一切都应该正常工作:)