首页  >  文章  >  数据库  >  为什么我在 Ubuntu 16.04 上的 MySQL 用户“root”会出现“访问被拒绝”?

为什么我在 Ubuntu 16.04 上的 MySQL 用户“root”会出现“访问被拒绝”?

Linda Hamilton
Linda Hamilton原创
2024-11-02 12:56:30306浏览

Why Am I Getting

使用 Ubuntu 16.04 时 MySQL 用户“root”的访问被拒绝

尝试从 Ubuntu 16.04 上的 Web 服务器连接到 MySQL 数据库时,用户可能会遇到以下错误:

SQLSTATE[HY000] [1698] Access denied for user 'root'@'localhost'

出现此问题的原因是,在 MySQL 5.7 中,默认身份验证机制已更改,如果没有提升权限,则无法再访问 root 用户。

解决方案:

要解决此错误,用户必须创建一个具有必要权限的新 MySQL 用户,而不是使用 root 用户。以下步骤概述了该过程:

  1. 创建新的 MySQL 用户:
sudo mysql -u root -p
出现提示时输入您的 root 密码。
CREATE USER new_user@localhost IDENTIFIED BY 'new_password';
将“new_user”替换为所需的用户名,将“new_password”替换为强密码。
  1. 向新用户授予权限:
GRANT ALL PRIVILEGES ON *.* TO new_user@localhost;
这将授予新用户对所有数据库和表的完全访问权限。
  1. 配置 Web 服务器以使用新用户:

修改所提供问题中的 PHP 代码以使用新创建的用户凭据,将 'root' 替换为 'new_user',将 'root' 替换为 'new_password'。

  1. 刷新权限:
FLUSH PRIVILEGES;
这将使用所做的更改更新权限表。
  1. 退出 MySQL:
EXIT;

通过执行以下步骤,用户可以从 Ubuntu 16.04 上的 Web 服务器连接到 MySQL 数据库,而不会遇到“访问被拒绝”错误。

以上是为什么我在 Ubuntu 16.04 上的 MySQL 用户“root”会出现“访问被拒绝”?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn