为什么我无法在 Ubuntu 16.04 中以'root”身份连接到 MySQL?

Barbara Streisand
发布: 2024-10-30 11:53:02
原创
731 人浏览过

Why Can't I Connect to MySQL as 'root' in Ubuntu 16.04?

Ubuntu 16.04 中“root”用户的数据库访问被拒绝

在 Ubuntu 16.04 中使用 Web 服务器访问数据库时,您可能会遇到错误“SQLSTATE[HY000] [1698] 用户‘root’@‘localhost’的访问被拒绝”。尽管创建了具有所有权限的新用户,还是会出现此问题。

MySQL 5.7 中的根用户限制

此错误的根本原因在于 MySQL 5.7 中引入的更改,这限制了没有 sudo 权限的“root”用户的使用。在以前的版本中,用户可以使用“mysql -u root”命令以“root”身份访问 MySQL,而无需提升权限。然而,在 MySQL 5.7 中,这种方法不再可行。

解决方法

要解决此问题,您需要创建一个具有必要权限的新用户并使用从 PHP 应用程序或其他非命令行工具建立数据库连接时,请使用该用户而不是“root”。

PHP 代码

在您的 PHP 代码中,替换用户名和密码以及新创建用户的凭据:

<code class="php">protected $name = 'new_user';
protected $pass = 'new_password';</code>
登录后复制

从命令行进行根访问

虽然您不能直接使用“root”用户GUI 或非命令行应用程序,您仍然可以使用 sudo 以“root”身份从命令行访问 MySQL:

sudo mysql -u root
登录后复制

请记住,此方法会提升您的权限,仅应在必要时使用。出于安全原因,建议创建一个专用用户进行数据库管理并使用该用户而不是“root”。

以上是为什么我无法在 Ubuntu 16.04 中以'root”身份连接到 MySQL?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!