mysqli_connect(): (HY000/1045): Access denied for user ... - mysql shell 工作 [重复]

Posted

技术标签:

【中文标题】mysqli_connect(): (HY000/1045): Access denied for user ... - mysql shell 工作 [重复]【英文标题】:mysqli_connect(): (HY000/1045): Access denied for user... - mysql shell works [duplicate] 【发布时间】:2020-07-14 03:12:33 【问题描述】:

Wordpress 升级失败后出现错误

警告:mysqli_real_connect(): (HY000/1045): Access denied for user...

所以我重新安装了 WP,但仍然遇到同样的错误。奇怪的是我可以通过 mysql shell(在同一个 php 服务器上)连接到 mysql 服务器(远程主机),而不是通过 PHP。所以似乎不是凭据/防火墙问题。

我尝试了一个单独的脚本,只有mysqli_connect(),但也没有运气。我用IP替换了服务器主机名,也没用。

PHP:7.0

编辑:原来mysql服务器需要ssl连接,所以我只好将define('MYSQL_CLIENT_FLAGS', MYSQLI_CLIENT_SSL); 添加到wp-config.php

【问题讨论】:

您应该尽快升级。这个版本的 PHP 已经几年不支持了。 【参考方案1】:

我曾在某个阶段遇到过类似的问题。当我将端口扩展添加到我的本地主机时,我的修复就来了。像这样:

mysqli_connect(localhost:3307, "root", "", "$db_name").

尝试确定您的语句尝试与哪个端口建立连接。 3308、3307、3306

【讨论】:

谢谢 - 不幸的是没有帮助。这么奇怪的问题。 这是错误的答案。主机应该用引号括起来,端口应该在第五个参数中传递。

以上是关于mysqli_connect(): (HY000/1045): Access denied for user ... - mysql shell 工作 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

Mysql 错误:mysqli_connect(): (HY000/2002): Connection denied

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

警告:mysqli_connect(): (HY000/1049): 仅在 mac 终端中的未知数据库

警告:mysqli_connect():(HY000/1045):用户'record'@'localhost'的访问被拒绝(使用密码:YES)[重复]

警告:mysqli_connect(): (HY000/2002): 没有这样的文件或目录

mysqli_connect(): (HY000/2002): 无法连接,因为目标机器主动拒绝