![如何连接到另一台 Ubuntu 机器上的 MySql?](https://linux22.com/image/549807/%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5%E5%88%B0%E5%8F%A6%E4%B8%80%E5%8F%B0%20Ubuntu%20%E6%9C%BA%E5%99%A8%E4%B8%8A%E7%9A%84%20MySql%EF%BC%9F.png)
你好,如何从另一台 Ubuntu 机器连接到 MySql。我试过这个
mysql -h 'IP' -P 3306 -u test -ptest
我收到错误 2003 (HY000):无法连接到“IP”(111) 上的 MySQL 服务器。然后我尝试
nmap -sS -O -p 3306 'IP' and it says 3306/tcp closed mysql
但是在 MySql 机器上,当我尝试使用 localhost 时,它可以工作
nmap -sS -O -p 3306 localhost it says 3306/tcp open mysql
我在这里错过了什么
答案1
有两种方法可以检查:
[1] 如果数据库配置为仅监听本地主机(127.0.0.1),则在 /etc/mysql/my.cnf 中查找以下行
bind-address = 127.0.0.1
并注释掉此行,然后重新启动数据库。我认为这是你的问题,因为这是 Ubuntu 中的默认设置。
[2] 运行“netstat -an | grep 3306” - 当打开来自外部的连接时,它应该给出以下信息:
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
答案2
您必须创建一个允许从您想要连接的机器连接到该 MySQL 服务器的用户。
mysql > 创建用户“user”@“ip_from_you_want_to_connect”,由“password”标识。
诀窍在于,在创建用户语法中,在 @ 后面放置的内容
创建用户“user”@“localhost”仅在从本地机器连接时授予该用户权限。
如果您想从另一台机器连接,请将 localhost 替换为该机器的 IP 或名称(FQDN)。
您可以了解有关创建用户的更多信息这里
另外,检查一下 Henk 给出的提示。