文章目录
出现错误 ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
通常意味着 MySQL 服务器正在以跳过权限表的方式运行,因此无法执行需要权限检查的语句,如 ALTER USER
。
要解决这个问题,你需要按照以下步骤操作:
-
停止 MySQL 服务。
net stop mysql
-
以跳过权限表的方式启动 MySQL 服务器。在命令行中,进入到 MySQL 安装目录的
bin
文件夹下,然后使用以下命令启动 MySQL 服务器:mysqld --skip-grant-tables --shared-memory
-
打开一个新的命令行窗口,以 root 用户登录到 MySQL:
mysql -u root
由于是跳过权限表,所以不需要密码。
-
在 MySQL 命令行中,更新用户的密码。例如,要为 ‘root’@‘localhost’ 用户设置新密码,可以使用以下命令:
FLUSH PRIVILEGES; ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; FLUSH PRIVILEGES;
将
new_password
替换为你想设置的新密码。 -
退出 MySQL 命令行,然后正常重启 MySQL 服务。
-
使用新密码登录 MySQL 以验证密码是否已成功更新。