mysql 忘记密码

如果安装mysql 之后,忘记了当初设置的密码是多少的话,可以选择mysqld_safe 启动,并且加上--skip-grant-tables参数,进入之后可以通过update的形式来修改root用户的密码。

[root@testsql ~]# mysqld_safe --skip-grant-tables --user=mysql
2018-08-03T00:03:10.094821Z mysqld_safe Logging to '/var/log/mysqld.log'.
2018-08-03T00:03:10.118208Z mysqld_safe Starting mysqld daemon with databases from /home/mysql/data

此时mysql已经启动成功 ,--skip-grant-tables表示忽略授权表信息,

我们可以直接用mysql命令直接登陆数据库

[root@testsql run]# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.22 Source distribution

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

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> 

进入mysql命令窗口之后,可以直接用update语句对root用户的密码进行修改

mysql> update user set authentication_string=password('root')where user='root';
Query OK, 1 row affected, 1 warning (0.03 sec)
Rows matched: 1  Changed: 1  Warnings: 1

mysql> 

ps:新版本当中没有password字段,已经被autoentication_string字段代替

这时候关闭数据库并且重新启动(不带--skip-grant-tables参数),即可使用新密码登陆

[root@testsql mysql]# pkill mysqld
[root@testsql mysql]# service mysql start
Starting MySQL. SUCCESS! 
[root@testsql mysql]# mysql -uroot -proot
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 2
Server version: 5.7.22 Source distribution

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

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> 

 

 

你可能感兴趣的:(mysql,mysql,密码)