MySQL数据库管理员用户密码忘记了怎么办?
前提
MySQL 数据库
Linux 系统
关闭数据库
[root@t1 ~]# /ect/init.d/mysqld stop
Shutting down MySQL.. SUCCESS!
启动数据库到维护模式
[root@t1 ~]# mysqld_safe --skip-grant-tables --skip-networking &
–skip-grant-tables 跳过授权表
–skip-networking 跳过远程登录(为了安全)
这里进入后可以查看所以用户及密码信息(密码默认是加密的)
mysql> select user,host,authentication_string from mysql.user;
刷新授权表(加载授权表)
mysql> flush privileges;
注意:这里必须刷新一下授权表,否则直接登录会报以下错误(这是因为授权表在登录的时候被跳过了,没有加载导致的)
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this ststement
赋权,修改用户密码
方法1:
mysql> grant all on *.* to root@'localhost' identified by '此处输入要改的密码';
方法2:
mysql> alter user root@'localhost' identified by '此处输入要改的密码';
关闭数据库重启验证密码
[root@t1 ~]# /ect/init.d/mysqld restart
[root@t1 ~]# mysql -uroot -p
Enter password: 输入已改的密码