执行ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'时,mysql(8.0)提示The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
时间: 2023-12-10 14:05:45 浏览: 157
这个错误提示是因为你的 MySQL 服务器正在使用 --skip-grant-tables 选项运行,这个选项会跳过权限验证,允许任何人以任何方式访问数据库。因此,你不能像平常一样修改用户密码。
如果你想修改用户密码,需要先停止 MySQL 服务器,然后以正常模式启动。在正常模式下,你可以使用以下命令来修改密码:
```
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
```
修改完成后,你可以重新启动 MySQL 服务器并登录到系统中。注意,修改密码后,你需要使用新密码进行登录。
相关问题
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Hakey@12345'; ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
这个错误是因为你的 MySQL 服务器正在运行 `--skip-grant-tables` 选项,这个选项会跳过授权表的检查,允许所有用户访问所有数据库。在这种情况下,你不能使用 `ALTER USER` 命令来修改用户密码。
要解决这个问题,你需要先关闭 MySQL 服务器并重新启动,但是不要使用 `--skip-grant-tables` 选项。然后使用以下命令来修改用户密码:
```
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Hakey@12345';
```
如果你仍然无法修改密码,请检查当前 MySQL 用户是否具有足够的权限来修改其他用户密码。
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password' at line 2
这个错误提示是因为您在 MySQL 中使用了错误的语法。在 MySQL 中,`ALTER USER`语句是在 MySQL 8.0 版本中引入的,如果您的 MySQL 版本低于 8.0,则无法使用该语句。
如果您想在 MySQL 5.7 或更早的版本中更改 root 用户密码,可以使用以下语法:
```
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('your_new_password');
```
请注意,上述语法中的 `your_new_password` 应该替换为您要设置的密码。
阅读全文