首页  >  文章  >  数据库  >  为什么我在 MySQL 5.7 中收到“SQLSTATE[HY000] [1698] Access returned for user \'root\'@\'localhost\'\”错误?

为什么我在 MySQL 5.7 中收到“SQLSTATE[HY000] [1698] Access returned for user \'root\'@\'localhost\'\”错误?

Patricia Arquette
Patricia Arquette原创
2024-11-04 12:02:29153浏览

Why Am I Getting

“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中文网其他相关文章!

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