我正在尝试从另一台电脑连接到安装在我家电脑上的 mysql 服务器。我在 mysql 配置中允许所有连接。我尝试连接的电脑上没有防火墙阻止。我使用了命令-
mysql -h 某个主机.IP -u 某个用户 -p 某个密码
我正进入(状态-
错误 2003(HY000):无法连接到“Some.Host.IP”上的 MySQL 服务器(10060)
我可以通过 php 连接!!
有什么问题?我该如何解决?
答案1
如果 PHP 和 MySQL 在同一台服务器上运行,您可能需要检查 MySQL 配置文件(在 Windows 计算机上可能称为 my.ini)中的 bind-address 选项是否实际已关闭:
#bind-address = 127.0.0.1
该选项很容易被忽视,需要关闭才能允许传入连接。
答案2
您正在使用的用户是否被允许在 MySQL 中从您正在使用的客户端 (或 %) 进行连接?如果您在与 MySQL 相同的服务器上运行 php,php 将从 localhost 进行连接,只需要从 localhost 进行访问,但要使用 mysql 命令进行访问,您需要允许您的机器/用户组合。
与其他答案一样,在 Windows 目录中查找#bind-address = 127.0.0.1
my.cfg 或 my.ini,并确保它已被注释或= 0.0.0.0
(针对所有接口)或= your server LAN IP
取决于您的需要。
答案3
运行 mysql 服务器的机器上是否有防火墙?如果您尝试从本地网络外部进行连接,则应在路由器/调制解调器中转发用于连接 mysql 服务器的端口。
答案4
我认为 -p 选项后面不应有空格。
-p 某个密码
-p某些密码
您的语法应该要求输入密码并连接到数据库 SomePassword。
像这样尝试 mysql -h Some.Host.IP -u SomeUser -pSomePassword SomeDatabase