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 中运行了。
【讨论】:
很奇怪,但它确实奏效了!试过localhost
和127.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无法连接到本地主机[重复]的主要内容,如果未能解决你的问题,请参考以下文章
无法连接到数据库(HY000/1045),尝试使用 php mysqli_connection 连接到数据库 [重复]
mysqli_connect(): (HY000/2002): 无法通过socket连接到本地MySQL服务器
无法将本地 WordPress 连接到远程 MySQL 服务器
MySQL Workbench 连接到 AWS,收到错误“无法连接到本地主机”
从今天起无法通过 XAMPP 连接到本地 MY SQL 数据库 (mysqli_real_connect(): (HY000/2002))