我想连接到托管在数字海洋上的数据库服务器。因此我配置了我的Sequel Pro设置:
我得到的错误是:
在我的服务器上,端口3306是允许通过`ufw allow 3306 / tcp'并且ufw服务已重新启动。我仍然无法连接。我被要求提供SSH服务的密码,这有效,但随后出现错误。我在哪里需要重新配置我的设置?答案 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
一切都应该正常工作:)