首页 > 解决方案 > 在php中连接db时主机地址问题

问题描述

我最近遇到了一个奇怪的问题。该应用程序运行良好,但昨天突然显示此错误,这是附加的,它说密码问题,但密码是正确的。为了再次运行应用程序,我尝试将 '127.0.0.1' 替换为 db connect 文件中的 inet 地址,并且应用程序现在工作正常。有人知道为什么“127.0.0.1”不起作用。目前,它有 inet 地址,我担心将来会出现新问题。

提前致谢。

在此处输入图像描述

标签: phpmysqllocalhost

解决方案


没有更多信息,很难准确地说。但首先,你应该远离 mysql_connect。这是来自 PHP.net 的引用

警告

此扩展在 PHP 5.5.0 中被弃用,并在 PHP 7.0.0 中被删除。相反,应该使用 MySQLi 或 PDO_MySQL 扩展。另请参阅 MySQL:选择 API 指南。此功能的替代方案包括:

mysqli_connect()
PDO::__construct()

除此之外,我想说的是,用户 root 似乎被配置为只能从特定域访问。如 root@myhostname 而不是 root@localhost。

最简单的检查方法是:

SHOW GRANTS;

并确保 root@localhost 或 root@% 具有访问权限。如果不

REVOKE ALL PRIVILEGES FROM root@whatever;
GRANT ALL PRIVILEGES ON yourDatabaseName . * TO 'root'@'localhost'

您可以为 root@% 设置它,但从安全角度来看,这是一个坏主意。


推荐阅读