登录数据库时,可能会忘记密码,怎么办呢?
方法:编辑mysql配置文件,不让mysql去授权;之后输入mysql无用户登录,因为是root用户,所以在mysql库里进行密码的重置
mysql密码重置过程及语句:
[[email protected] ~]# mysql -uroot
ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: NO)
不输入密码登录会报错
[[email protected] ~]# vim /etc/my.cnf
[mysqld]
skip-grant
在mysqld模块下添加skip-grant,不让mysql对任何用户授权
保存退出后,再重启 /etc/init.d/mysqld restart
[[email protected] ~]# 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就可以输入新密码进行登陆了
[[email protected] ~]# 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.