使用 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 用户。以下步骤概述了该过程:
sudo mysql -u root -p
出现提示时输入您的 root 密码。
CREATE USER new_user@localhost IDENTIFIED BY 'new_password';
将“new_user”替换为所需的用户名,将“new_password”替换为强密码。
GRANT ALL PRIVILEGES ON *.* TO new_user@localhost;
这将授予新用户对所有数据库和表的完全访问权限。
修改所提供问题中的 PHP 代码以使用新创建的用户凭据,将 'root' 替换为 'new_user',将 'root' 替换为 'new_password'。
FLUSH PRIVILEGES;
这将使用所做的更改更新权限表。
EXIT;
通过执行以下步骤,用户可以从 Ubuntu 16.04 上的 Web 服务器连接到 MySQL 数据库,而不会遇到“访问被拒绝”错误。
以上是为什么我在 Ubuntu 16.04 上的 MySQL 用户'root”会出现'访问被拒绝”?的详细内容。更多信息请关注PHP中文网其他相关文章!