MySqli无法连接到本地主机[重复]

Posted

技术标签:

【中文标题】MySqli无法连接到本地主机[重复]【英文标题】:MySqli can't connect to localhost [duplicate] 【发布时间】:2013-07-13 07:57:46 【问题描述】:

我有这行代码:

$mysqli = new mysqli("localhost", "user", "pass", "db");

我将 XAMPP 用于 Apache 和 MySQL。如果我使用上面的行,则会引发以下错误:

Warning: mysqli::mysqli(): (HY000/1045): Access denied for user 'user'@'localhost' (using password: YES) in C:\xampp\htdocs\xo\php\connect.php on line 2
Failed to connect to MySQL: (1045) Access denied for user 'user'@'localhost' (using password: YES)
Warning: main(): Couldn't fetch mysqli in C:\xampp\htdocs\xo\php\connect.php on line 6

如果我用 127.0.0.1 替换 localhost 也是一样的(我试过了)。但是,如果我使用我的内部网络 IP(在本例中为 192.168.1.101)而不是 localhost,它会成功连接。

【问题讨论】:

您尚未在 MySQL 服务器上提供对 user@localhost 的访问权限,但您已经为 user@192.168.1.101 提供了访问权限。只需添加额外的权限 访问通配符显然不允许 localhost 或 127.0.0.1。它要么是本地的,要么是外部的,而不是两者兼而有之。设置对 localhost 的访问解决了这个问题。 【参考方案1】:

试试这个:

$mysqli = new mysqli("localhost", "user", "pass", "db", 3306);
                                                        port

【讨论】:

【参考方案2】:

我得到了错误:

警告:mysqli_connect(): (HY000/1045): Access denied for user 'dinesh'@'localhost' (using password: YES) in C:\xampp............. .

我用我的 IP 地址替换了localhost,它终于在 Windows 10 中运行了。

【讨论】:

很奇怪,但它确实奏效了!试过localhost127.0.0.1 但奇怪的是没有快乐......【参考方案3】:

你的参数有问题

$mysqli = new mysqli($localhost, $user, $pass, $db);

$localhost, $user, $pass, $db (these params should be consistent)

【讨论】:

【参考方案4】:

从 php5 升级到 php7 后,同样的问题困扰了我 2 天,最后我发现这是因为在 php.ini 设置中,您还需要为 mysqli 定义套接字位置。原来的mysql在php5.5之后就被弃用了,所以升级后需要在mysql.default_socket之外添加mysqli.default_socket作为它的socket位置。

只需要确保以下行位于 php.ini 中:

mysqli.default_socket = /path to/mysql.sock mysql.default_socket = /path to/mysql.sock

【讨论】:

【参考方案5】:

尝试以下方法(答案基于官方文档https://www.php.net/manual/en/mysqli.quickstart.connections.php):

$mysqli = new mysqli("127.0.0.1", "user", "pass", "db");

【讨论】:

您能再解释一下吗? OP命令有什么区别?【参考方案6】:

我认为应该是:

$mysqli = new mysqli($localhost, $user, $pass, $db);

【讨论】:

与this one 的答案相同,已发布。

以上是关于MySqli无法连接到本地主机[重复]的主要内容,如果未能解决你的问题,请参考以下文章

jmx 无法连接到本地主机

无法连接到数据库(HY000/1045),尝试使用 php mysqli_connection 连接到数据库 [重复]

mysqli_connect(): (HY000/2002): 无法通过socket连接到本地MySQL服务器

无法将本地 WordPress 连接到远程 MySQL 服务器

MySQL Workbench 连接到 AWS,收到错误“无法连接到本地主机”

从今天起无法通过 XAMPP 连接到本地 MY SQL 数据库 (mysqli_real_connect(): (HY000/2002))