mysql(mariadb)忘记登陆密码,提示如下
[root@localhost ~]# mysql -uroot -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
2.停止mysql
[root@localhost ~]# systemctl stop mariadb
3.使用--skip-grant-tables连接mysql,此时mysql不能进行授权操作,可重置密码
[root@localhost ~]# mysqld_safe --skip-grant-tables
161103 14:52:25 mysqld_safe Logging to '/var/log/mariadb/mariadb.log'.
161103 14:52:25 mysqld_safe A mysqld process already exists
4.开启mysql并直接进入
[root@localhost ~]# systemctl start mariadb
[root@localhost ~]# mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.50-MariaDB MariaDB Server
Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
MariaDB [mysql]> update user set password=password('123456') where user='root';
Query OK, 4 rows affected (0.00 sec)
Rows matched: 4 Changed: 4 Warnings: 0
MariaDB [mysql]> flush privileges
-> ;
Query OK, 0 rows affected (0.00 sec)
MariaDB [mysql]> exit;
Bye
5.已重置密码为123456,测试登录
[root@localhost ~]# mysql -uroot -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 3
Server version: 5.5.50-MariaDB MariaDB Server
Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>