我正在运行MariaDB
,尝试重置密码,但无法成功。
[root@osdial-99a8c941 ~]# mysqld_safe --skip-grant-tables --skip-networking &
[1] 11125
请设置密码:
[root@osdial-99a8c941 ~]# mysql -u root
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 1
Server version: 5.5.37-MariaDB-wsrep-log MariaDB Stylite Build (GPL), wsrep_25.10.r3980
Copyright (c) 2000, 2014, Oracle, Monty Program Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> use mysql;
MariaDB [mysql]> update user set password=PASSWORD("new-password") where User='root';
Query OK, 0 rows affected (0.00 sec)
Rows matched: 0 Changed: 0 Warnings: 0
MariaDB [mysql]> select * from user;
Empty set (0.00 sec)
如果你查看
user
表,它仍然是空的 :(即使我尝试创建账户,但是出现了以下错误:
MariaDB [mysql]> CREATE USER 'root'@'localhost' IDENTIFIED BY 'new-password';
ERROR 1290 (HY000): The MariaDB server is running with the --skip-grant-tables option so it cannot execute this statement
我做错了什么吗?
update
或grant
之后完成,因为它会刷新内存缓存,并从表中重新加载权限。根据MySQL文档 - Matt Clark