我试图更改MySQL用户名和密码:
mysql> UPDATE mysql.user SET user='myuser', password=PASSWORD('mypassword') WHERE user='root';
Query OK, 0 rows affected (0.00 sec) Rows matched: 0 Changed: 0 Warnings: 0
mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec)但现在mysql不让我进去,也不能尝试其他任何东西。:/
发布于 2016-01-04 13:21:32
尝试创建新用户
若要更改根用户的密码:
更新用户集Password=PASSWORD('YOURNEWPASSWORD'),其中User='root';刷新权限;退出;
若要更改myuser的密码:
更新mysql.user SET Password=PASSWORD('YOURNEWPASSWORD'),其中用户=‘myuser’;
发布于 2016-01-04 13:24:20
在mysql模式中处理MySQL的系统表是不明智的,除非您对MySQL内部程序有认真的经验。有关信息,特权存储在 schema中,如果您决定手动编辑mysql.user表,则必须以级联方式更新权限。
完全不建议这样做。
如果要“重命名”用户,则应创建一个新用户,并授予与旧用户相同的权限。您可以利用SHOW GRANTS命令。它输出有效的GRANT语句,您可以很容易地对新用户进行调整。
发布于 2016-01-04 13:28:04
首先,如果需要,您应该创建一个新用户,而不是重命名为root用户。
此外,如果您有任何其他具有授予权限的管理用户,那么您可以通过该用户进行连接。
如果您没有任何其他管理用户,并且无法以任何方式连接mysql,那么您需要遵循以下步骤来解锁root用户。
Step1:在my.cnf或my.ini文件中添加以下2行。跳过-授权-表格跳过-联网
Step2:重新启动mysql服务。
Step2:在没有密码的情况下连接mysql (只需在没有用户名和密码的情况下传递mysql命令),然后通过下面的命令再次将用户名更改为root。
UPDATE mysql.user SET user='root' WHERE USER='myuser'; flush privileges;Step3:从my.cnf文件中删除新添加的2行并重新启动mysql服务。
Step4:现在试试下面的命令-
mysql -uroot -p通过密码,无论您为我的用户更改,因为我们只是更改用户名,但不是密码在这个时候。
https://stackoverflow.com/questions/34591818
复制相似问题