错误 1045 (28000) 用户 root localhost 的访问被拒绝(已解决)
已发表: 2023-03-14“Error 1045 (28000) access denied for user root localhost”是尝试通过 WordPress CMS 访问 MySQL 时经常遇到的错误。 但是,此错误也可能发生在其他情况下。
您遇到的错误表明“root”用户不具备从本地主机访问数据库所需的权限。 此问题背后的原因可能有多种,包括密码不正确、用户名不正确或授予用户的权限不足。
以下是您可以采取的一些步骤来解决此错误
1.检查用户名和密码
确保您使用的是正确的用户名和密码。 用户名应为“root”,密码应为您在安装过程中设置的密码。
如果您使用的是 WordPress,则必须检查wp-config.php文件。 该文件可以在 WordPress 的主文件夹中找到。
打开文件并尝试对其进行编辑(Visual Studio Code)后,您将看到以下屏幕:
检查 DB_USER 和 DB_PASSWORD 是否有正确的值
/** Database username */ define( 'DB_USER', 'root' );
/** Database password */ define( 'DB_PASSWORD', 'root' );
如果您不知道哪个是数据库的用户名和密码,请访问 cPanel > 数据库 > Mysql 并检查它。
要更改 WordPress 数据库的密码,请按照教程:在 PHPMyAdmin 中更改 WordPress 密码
2.检查用户是否有需要的权限
检查用户“root”是否具有访问数据库的必要权限。
第 1 步:首先,您必须打开终端并输入 ssh [email protected]
ssh [email protected]
Step2:登录成功后记下这条命令
mysql -uroot -p
第 3 步:添加密码后,您可以从 mysql 提示符开始添加命令
Step4:可以使用以下命令查看权限:
SHOW GRANTS FOR 'root'@'localhost';
这将向您显示用户“root”对“localhost”服务器的权限列表。 如果用户没有必要的权限,您可以使用以下命令授予他们:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'password';
注意:将“密码”替换为您要使用的密码。
要使用 phpMyAdmin 检查用户是否具有所需的权限,请执行以下步骤:
- 登录到您的 phpMyAdmin 帐户。
- 单击“用户帐户”选项卡。
- 选择用户根(或您要更改密码的用户)
- 单击编辑权限链接
- 在这里您可以看到已授予用户的权限列表。
- 确保用户已被授予访问数据库所需的权限。
- 如果用户没有所需的权限,您可以通过选中相关复选框并单击“开始”按钮来授予他们。
- 授予所需权限后,再次尝试访问数据库以查看问题是否已解决。
应检查突出显示区域中的设置:
注意:如果您无法通过 phpMyAdmin 授予必要的权限,您可能需要访问 MySQL 命令行界面来授予权限。
3.查看MySQL服务器状态
确保 MySQL 服务器正在运行。 您可以在登录服务器 shell 后运行以下命令来检查服务器状态:
systemctl status mysql
如果服务器未运行,请使用以下命令启动它:
systemctl start mysql
要检查 cPanel 托管上的 Mysql 状态,您必须登录到托管仪表板。 另一种方法是直接联系您的托管服务提供商。
4、检查MySQL服务器是否监听了正确的端口
确保 MySQL 服务器正在侦听正确的端口。 MySQL 的默认端口是3306 。
要检查 MySQL 服务器是否正在监听正确的端口,您可以按照以下步骤操作:
1. 在安装了 MySQL 的服务器上打开终端或命令提示符。
2.使用命令行客户端连接到MySQL服务器。 您可以使用以下命令,将username
和password
替换为您的实际 MySQL 凭据:
mysql -u username -p
3. 连接到 MySQL 服务器后,键入以下命令以显示 MySQL 服务器正在侦听的端口号:
SHOW VARIABLES LIKE 'port';
此命令将显示 MySQL 服务器正在侦听的端口号。 默认情况下,MySQL 侦听端口 3306。
您也可以在 MySQL 配置文件中查看端口号。
配置文件通常命名为my.cnf
或my.ini
,它位于 MySQL 安装目录中。
找到MySQL的安装目录,可以按照以下步骤进行:
1. 在安装了 MySQL 的服务器上打开终端或命令提示符。
2. 键入以下命令检查是否安装了 MySQL:
which mysql
如果安装了 MySQL,此命令将显示mysql
可执行文件的路径,否则您将收到一条错误消息。
如果安装了MySQL,可以再次使用which
命令找到安装目录。 键入以下命令,将/path/to/mysql
替换为mysql
可执行文件的路径:
which mysql | xargs readlink -f | sed "s|bin/mysql$||"
此命令将显示 MySQL 安装目录。 您可以使用此目录来定位 MySQL 配置文件( my.cnf
或my.ini
)以及其他 MySQL 文件和目录。
或者,如果您可以访问 MySQL 客户端,也可以执行以下查询来查找 MySQL 安装目录:
SELECT @@basedir;
这将显示 MySQL 安装目录。
您还可以检查 MySQL 配置文件以验证 MySQL 配置为侦听的端口号。 配置文件通常命名为my.cnf或my.ini ,它位于 MySQL 安装目录中。
使用文本编辑器打开配置文件并搜索端口参数。 此参数的值指定 MySQL 配置为侦听的端口号。
如果 MySQL 服务器没有侦听正确的端口,您可以更改配置文件中的端口参数并重新启动 MySQL 服务器以应用更改。
如果更改了端口,不要忘记重启 Mysql 服务:
service mysql restart
5.重置root密码
如果上述步骤均无效,您可以尝试重置 root 密码。 您可以按照本文中的步骤执行此操作:
https://dev.mysql.com/doc/refman/8.0/en/resetting-permissions.html
注意:此方法要求您有权访问 MySQL 配置文件并能够重新启动 MySQL 服务器。
您可能有兴趣阅读:
如何修复 WordPress 上的“安装失败:无法创建目录”错误
如何修复 WordPress 卡在维护模式(已解决)
如何修复“更新失败。 响应不是有效的 JSON 响应”
如何修复“建立数据库连接时出错”? – 2023
作为 Codeless 的联合创始人之一,我带来了开发 WordPress 和 Web 应用程序方面的专业知识,以及有效管理托管和服务器的记录。 我对获取知识的热情以及对构建和测试新技术的热情驱使我不断创新和改进。