我的计算机上有一个名为 heidiSQL 的程序,它使我能够通过查询编辑数据库中的数据。最近试图通过这个程序创建一个新用户,同时以 root 帐户登录。我使用了以下代码
create user 'john91'@'localhost' identified by 'google';
grant all privileges on *.* to 'john91'@'localhost;
flush privileges;
然后我关闭了 HeidiSQL 程序并再次打开它以使用新用户“john91”登录,它工作正常,但令我震惊的是我无法再登录我的根帐户。
然后我打开命令行并使用用户“john91”登录(有效)并使用以下代码检查服务器中的所有用户:
select host,user from mysql.user;
我发现“john91”是系统中唯一的用户。我能够使用此代码创建一个新的根帐户,同时使用“john91”用户登录:
create user 'root'@'127.0.0.1' identified as 'google';
这工作正常,但我无法授予此 root 帐户任何权限,所以当我使用时:
grant all privileges on *.* to 'root'@'127.0.0.1';
ERROR 1045 (28000): access denied for user 'john91'@'localhost' (using
password: YES)
那么这是重新创建我的根帐户的正确方法吗?如果是,我做错了什么,如果不是,我应该怎么做?
更新,我需要创建 'root'@'localhost' MySQL 不允许我通过用户 'john91' 执行此操作,该怎么做?
你应该这样做:
您忘记提供 'john91'@'localhost' 授予选项。因此,您不能将特权授予其他任何人。
您可以通过执行以下操作来解决该问题
然后,你应该能够运行
试试看 !!!