第一种情况:没有忘记root密码,只是想换一个复杂的密码。
方法1:
mysql > set password for 'root'@'localhost' = password('你的新密码');
方法2:(这种方法需要把原来的root密码和新的root密码都暴露在命令下,别人翻看历史时可以看到)
[root@localhost ~]# mysqladmin -uroot -p123456 password 123
方法3:
mysql > update mysql.user set password=password('123') where user='root' and host='localhost'; mysql > flush privileges;
第二种情况:忘记了root密码,需要重置密码。
做法是:修改配置文件,让mysql服务器启动时跳过权限表,然后修改密码,最后再正常启动。
先修改配置文件:
[root@localhost ~]# /etc/init.d/mysqld stop [root@localhost ~]# vim /etc/my.cnf 添加选项: [mysqld] skip-grant-tables [root@localhost ~]# /etc/init.d/mysqld start
然后修改root密码:
mysql > update mysql.user set password=password("123") where user="root"; mysql > flush privileges;
再次重启MYSQL服务器,就可以使用新密码登录了。