mysql root用户没有权限

Posted

技术标签:

【中文标题】mysql root用户没有权限【英文标题】:Mysql root user has no privileges 【发布时间】:2020-10-08 21:40:16 【问题描述】:

我搜索了很多,但没有什么适合我。

我有一个全新安装的 LAMP 服务器,通过 tasksel 命令安装。 我的系统运行 php 7.4 和 mysql 8

由于某种原因,root 用户(在我的例子中,默认情况下称为 phpmyadmin)对 DB 没有权限。

我可以登录,所以我确定密码正确,但我无法创建数据库。

$ mysql -u phpmyadmin -p

mysql > create database test;
Access denied for user 'phpmyadmin'@'localhost' to database 'test'

编辑

按照建议,这是

的输出
 mysql> SELECT name, Create_priv FROM mysql.user;

 SELECT command denied to user 'phpmyadmin'@'localhost' for table 'user'

新编辑

按照此处报告的指南,我尝试在没有密码的情况下访问: ...

我没有结果:(

停止 MySQL 服务器:sudo /etc/init.d/mysql stop (OK) 启动mysqld配置:sudo mysqld --skip-grant-tables

输出:

[2] 2345

[1] 退出 1 sudo mysqld --skip-grant-tables

运行:sudo service mysql start

输出

[2]+ 退出 1 sudo mysqld --skip-grant-tables

似乎退出并出现错误...我错了吗?

我也尝试在这种情况下登录,但我收到此消息“ERROR 1698 (28000) Access denied for user 'root'@'localhost'”

如果我尝试使用我的 phpmyadmin 用户,则消息是“错误 1045 (28000): Access denied for user 'phpmyadmin'@'localhost' (using password: NO)”

编辑 2020 年 6 月 19 日 我按照这里报告的步骤 How to reset or change the MySQL root password?

我不得不使用 MD5() 而不是 PASSWORD(),因为它现在已被弃用。

还是有问题。 现在我可以在没有特权的情况下访问数据库并设置/更改我的密码。 然后我可以刷新所有权限。

那我试试……

mysql -u root -p 我输入我的新密码... ERROR 1698 (28000): 拒绝用户'root'@'localhost'的访问

我仍然可以使用 phpMyAdmin 中设置的用户登录,但我仍然没有权限。

我还重新安装了 MySql 服务器。 我记得上次安装旧的 Linux 虚拟机时遇到了类似的问题,但我很容易解决了这个问题。现在我想知道怎么了:(

【问题讨论】:

请edit您的问题包含SELECT name, Create_priv FROM mysql.user;的输出。 已添加信息...没有好消息。 “root”用户是否还存在,可以用它登录吗? 我真的不知道。我总是使用 'phpmyadmin' 用户,我看不到 mysql 是否有标准的 root 用户。正如您从您建议的查询结果中看到的那样,我无法从用户中选择它是否有效。我相信我会尝试删除并重新安装mysql 您可以在没有权限检查的情况下运行 MySQL 服务器,请参阅***.com/questions/16556497/…。这样你就可以修复权限,然后重新启动 MySQL 服务器。 【参考方案1】:

已解决 我重新安装了我的虚拟机并手动安装了 php 和 mysql 服务器。 为了确保以正确的方式设置权限,我遵循了这个小指南......也许对某人有帮助。 https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-ubuntu-20-04

再见!

【讨论】:

以上是关于mysql root用户没有权限的主要内容,如果未能解决你的问题,请参考以下文章

如何设置Mysql root权限

如何设置Mysql root权限

mysql root权限优化后没有grant权限

linux 连接mysql没有权限

mysql root无法修改用户权限,root无法操作数据库

mysql数据库root权限丢失(密码丢失)