MySQL远程访问不可能

时间:2017-02-14 09:34:11

标签: mysql mysql-workbench remote-access

我通过远程访问连接到MySQL-Server时遇到问题。

我正在使用 MySQL Workbench 。一切都设置正确(我介意)。 MySQL服务器在Plesk的Ubuntu 16.04上运行。

我的用户拥有所有权利(包括GRANT),my.cnf中的远程限制已被注释掉:

# bind-address = ::ffff:127.0.0.1

Database-Name是“localhost”,我尝试通过服务器的IP地址进行连接。

重要的是,没有用户错误(例如密码错误或缺少权限)。所以我认为,这是一个防火墙问题。

1 个答案:

答案 0 :(得分:1)

<强> 1。更改mysql配置

找到mysql配置文件

/etc/mysql/my.cnf

OR(如果上面的文件指向!includedir /etc/mysql/mysql.conf.d /)

/etc/mysql/mysql.conf.d/mysqld.cnf

注释掉以下行(如果有)

#bind-address = 127.0.0.1

这允许除localhost(127.0.0.1)以外的外部连接

#skip-networking

这允许侦听TCP / IP端口

<强> 2。更改GRANT权限

mysql> GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'%' 
IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;

以下确保用户可以访问数据库中的所有模式

*.*

%确保用户可以从任何IP地址/网络连接

'USERNAME'@'%'

然后运行此命令以应用更改。

mysql> FLUSH PRIVILEGES;

第3。重启MySQL服务器

重启服务器

service mysql restart

<强> 4。连接到服务器

MySQL的默认端口是

3306

您还可以使用此命令找到正在运行的端口

netstat -tln

它应该返回类似的东西

tcp        0      0 127.0.0.1:3306              0.0.0.0:*                   LISTEN 

在MySQL Workbench中

使用SQL Server的IP地址作为主机名

使用3306作为端口号

使用您授予

访问权限的用户

使用密码&#39;您在GRANT命令中使用的

请参阅https://easyengine.io/tutorials/mysql/remote-access/