ERROR 1290 HY000: The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
介绍
本地登录Mysql后执行下面语句报错
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘123456’;
ERROR 1290 HY000: The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
报错分析
The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
意思貌似MYSQL还运行在 --skip-grant-tables模式,–skip-grant-tables模式可以重置root的密码,但是用–skip-grant-tables启动后修改密码又报错,如何让他回到原来的模式
解决方法
执行命令关闭数据库只读属性
mysql> set global read_only=0;
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.05 sec)
mysql> show variables like '%read_only%';
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| innodb_read_only | OFF |
| read_only | OFF |
| tx_read_only | OFF |
+------------------+-------+
3 rows in set (0.00 sec)
再次修改密码
这次就不报错了
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
Query OK, 0 rows affected (0.04 sec)
密码修改成功,退出skip-grant-tables模式
kill 掉 mysqld_safe --skip-grant-tables 的进程就可以了
leenhem@DESKTOP-7SREO20:~$ sudo /etc/init.d/mysql start
* Starting MySQL database server mysqld
No directory, logging in with HOME=/ [ OK ]
CSDN_码404:ERROR 1290 HY000: The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
https://www.code404.icu/1512.html