The MySQL server is running with the --skip-grant-tables option so it cannot execute this state
作者:mmseoamin日期:2023-12-13

原因: 链接数据库忘记用户密码, 配置文件/etc/my.cnf中增加skip-grant-table 跳过密码登录,进入服务器修改密码时,出现如下报错信息:

mysql> alter user root@'localhost' identified by '123';
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

解决方法:

1、重启数据库服务器

     ]# service mysql restart

2、链接数据库服务器

     ]# mysql

     mysql>  flush privileges;             刷新权限列表

     mysql> alter user root@'localhost' identified by '123';     更改用户密码

mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
mysql> alter user root@'localhost' identified by '123';
Query OK, 0 rows affected (0.00 sec)

 3、退出数据库服务器,注释配置文件  #skip-grant-table, 重启数据库服务器器

4、验证用户是否登录

[root@master-2 mysql]# mysql -uroot -p123
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.31 MySQL Community Server - GPL
Copyright (c) 2000, 2022, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> exit