【发布时间】:2018-03-05 15:59:38
【问题描述】:
我一直在关注一些文档和答案,试图破解这个。
场景 我想为世界各地的任何连接的特定用户打开我的数据库。为了争论,我们称这个用户为 user1。
我已经使用以下命令为 localhost 和 '%' 创建了这个用户:
CREATE USER 'user1'@'localhost' IDENTIFIED BY 'password';
CREATE USER 'user1'@'%' IDENTIFIED BY 'password';
然后我已授予该用户仅连接到 1 个数据库的权限:
GRANT ALL ON database.* TO 'user1'@'localhost';
GRANT ALL ON database.* TO 'user1'@'%';
后跟刷新权限命令:
FLUSH PRIVILEGES;
我已进入 /etc/mysql/mysql.conf.d/mysqld.cnf 文件并尝试添加和删除以下行:
bind-address = 0.0.0.0
随后重启 MySQL 服务。
我可以在 localhost 上与该用户连接并执行我希望能够执行的所有操作,但如果我从远程主机连接,则会收到以下错误(来自 TOAD 数据点): 无法连接到任何指定的 MySQL 主机。
这是运行以下命令的输出:
netstat -tupln | grep mysql
根据我的远程 Windows 机器的请求运行 nmap 命令的输出(出于安全原因,我删除了 MySQL 主机)
出于安全原因的服务器 IP 地址。
对此的任何帮助将不胜感激。 谢谢
【问题讨论】:
-
您是否安装了防火墙(
iptables、ufw)?从远程主机,你能nmap $HOSTNAME -p 3306吗? -
一切似乎都井然有序,请尝试寻找其他地方。
-
我安装了 iptables,但似乎没有运行任何服务 - 我会尝试 nmap 并让您知道输出
-
@StefanM 我已将 nmap 命令的输出添加到我的问题中
-
您是否尝试过使用 MySql Workbench 进行连接?
标签: mysql ubuntu-16.04