“SQLSTATE[HY000] [1698] 用户 'root'@'localhost' 的访问被拒绝”:深入解释
在这种情况下,您在尝试通过 PHP 和 phpMyAdmin 以 root 权限访问数据库时,遇到了令人沮丧的错误消息“SQLSTATE[HY000] [1698] 用户 'root'@'localhost' 访问被拒绝”。尽管创建了具有足够权限的新用户,但数据库创建仍然不成功。
此错误是由 MySQL 5.7 中引入的安全增强功能引起的,该增强功能限制了 root 用户在没有提升权限的情况下 (sudo) 的使用。以前,您可以简单地调用“mysql -u root”,但这种方法不再可行。相反,您必须使用“sudo mysql -u root”。
因此,在图形用户界面 (GUI) 或非命令行应用程序中使用 root 用户将会失败。要避免此问题,请创建一个具有必要权限的新用户并使用该用户。
有关进一步说明,请参阅此响应中提供的解决方案:(此处)。
此解决方案通过防止在没有更高权限的情况下直接使用 root 用户来解决该问题,从而增强安全性。为了维护功能,请考虑创建一个具有适当数据库访问权限的新用户。
以上是为什么我在 MySQL 5.7 中收到“SQLSTATE[HY000] [1698] Access returned for user \'root\'@\'localhost\'\”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!