登录数据库时,可能会忘记密码,怎么办呢? 

方法:编辑mysql配置文件,不让mysql去授权;之后输入mysql无用户登录,因为是root用户,所以在mysql库里进行密码的重置


mysql密码重置过程及语句:


[root@kevin ~]# mysql -uroot

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

不输入密码登录会报错



[root@kevin ~]# vim /etc/my.cnf

[mysqld]

skip-grant

在mysqld模块下添加skip-grant,不让mysql对任何用户授权

保存退出后,再重启 /etc/init.d/mysqld restart



[root@kevin ~]# mysql -uroot

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 1

Server version: 5.1.40-log MySQL Community Server (GPL)


Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.


mysql> use mysql

Database changed

mysql> update user set password=password('123456') where user='root';

ERROR 2006 (HY000): MySQL server has gone away

No connection. Trying to reconnect...

Connection id:    3

Current database: mysql


Query OK, 3 rows affected (0.00 sec)

Rows matched: 3  Changed: 3  Warnings: 0



这个时候root用户的密码就变成了123456,完事后别忘记删除配置文件里的skip-grant,再重启mysql就可以输入新密码进行登陆了

[root@kevin ~]# mysql -uroot -p123456

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 1

Server version: 5.1.40-log MySQL Community Server (GPL)


Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.