我通过远程访问连接到MySQL-Server时遇到问题。
我正在使用 MySQL Workbench 。一切都设置正确(我介意)。 MySQL服务器在Plesk的Ubuntu 16.04上运行。
我的用户拥有所有权利(包括GRANT),my.cnf
中的远程限制已被注释掉:
# bind-address = ::ffff:127.0.0.1
Database-Name是“localhost”,我尝试通过服务器的IP地址进行连接。
重要的是,没有用户错误(例如密码错误或缺少权限)。所以我认为,这是一个防火墙问题。
答案 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命令中使用的