我在配置MySQL服务器和允许远程连接时遇到一些困难 . 我目前正在使用Ubuntu Server 16.04和最新的MySQL版本 . 这是来自VpsDime的虚拟专用服务器(VPS)(如果这不相关,我道歉) . 我所做的一切都是通过SSH协议使用root用户完成的 .

这是我尝试连接MySQL时Workbench抛出的错误:

Your connection attempt failed for user 'globalAdmin' from your host server at <IP>:3306:
Can't connect to MySQL server on '<ServerIP>' (10060).

我一直在关注并阅读教程以便在此时配置它 . 所以,我为此做的相关事情是:

安装最新版本的MySQL创建一个用户通过这种方式为本地和外部人员授予完全权限:

CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypass';
CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypass';
GRANT ALL ON *.* TO 'myuser'@'localhost';
GRANT ALL ON *.* TO 'myuser'@'%';

我使用nano修改了MySQL配置文件/etc/mysql/mysql.conf.d/mysqld.cnf . 我做的改变是取代这个:

bind-address = 127.0.0.1

为了这:

bind-address = 0.0.0.0

这是为了允许远程连接,这假设是在my.cnf文件中完成的,但我根据第一个答案修改了另一个文件:https://askubuntu.com/questions/699903/why-is-etc-mysql-my-cnf-empty

我还在我的文件中添加了以下两行 .

[mysqld]    
bind-address = 0.0.0.0

最后,使用UFW我允许端口3306和3306 / tcp . 使用命令sudo ufw status我得到了这个(我只显示相关的):

3306 (v6)                  ALLOW       Anywhere (v6)
3306/tcp (v6)              ALLOW       Anywhere (v6)

据我所知,我需要远程连接 . 我连接到MysQL服务器的方式是使用MySQLWorkbench for Windows,连接方法:标准(TCP / IP)使用我的服务器IP地址,默认端口(3306),我之前创建的“globaAdmin”用户没有Schema .

---The following MAY NOT be relevant---

我对MongoDB有同样的问题,这很有趣,因为我也安装了MS SQL Server 2017,我唯一能做的远程连接就是使用UFW工具打开端口 .