【问题标题】:MySQL Remote-Access impossibleMySQL 远程访问不可能
【发布时间】:2017-02-14 09:34:11
【问题描述】:

我无法通过远程访问连接到我的 MySQL 服务器。

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

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

# bind-address = ::ffff:127.0.0.1

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

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

【问题讨论】:

标签: mysql mysql-workbench remote-access


【解决方案1】:

1.更改 mysql 配置

找到mysql配置文件

/etc/mysql/my.cnf

或者(如果上面的文件指向 !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 工作台中

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

使用 3306 作为端口号

使用您授予访问权限的用户

使用您在 GRANT 命令中使用的“密码”

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

【讨论】:

  • 我的场景:带有 Plesk 的 Ubuntu 16.04,第一步对我有用。谢谢!
猜你喜欢
  • 2013-08-09
  • 1970-01-01
  • 2018-11-07
  • 2012-02-13
  • 1970-01-01
  • 2016-02-05
  • 1970-01-01
  • 1970-01-01
  • 2014-09-18
相关资源
最近更新 更多