以下命令适合修改任何mysql用户,仅以root为例。
一、拥有原来的myql的root的密码;
|
1
2
3
4
5
6
|
# mysql -uroot -pEnter password: 【输入原来的密码】(如果安装完mysql第一次设置root密码,则直接回车)mysql>use mysql;mysql> update user set password=password("123456") where user='root';mysql> flush privileges;mysql> exit; |
二、忘记原来的myql的root的密码;
首先,你必须要有操作系统的root权限了。也就说需要以root的身份登录到操作系统,然后进行一下操作。
1、编辑MySQL配置文件my.cnf
|
1
|
vi /etc/my.cnf |
#编辑文件,找到[mysqld],在下面添加一行skip-grant-tables
|
1
2
|
[mysqld]skip-grant-tables |
:wq! #保存退出
service mysqld restart #重启MySQL服务
2、进入MySQL控制台
|
1
|
mysql -uroot -p |
#直接按回车,这时不需要输入root密码。
3、修改root密码
|
1
2
3
|
update mysql.user set password=password('123456') where User="root" and Host="localhost";flush privileges; grant all on *.* to 'root'@'localhost' identified by '123456' with grant option; |
4、取消/etc/my.cnf中的skip-grant-tables
|
1
|
vi /etc/my.cnf |
编辑文件,找到[mysqld],删除skip-grant-tables这一行
:wq! #保存退出
5、重启mysql
|
1
|
service mysqld restart |
#重启mysql,这个时候mysql的root密码已经修改为123456
6、进入mysql控制台
|
1
|
mysql -uroot -p123456 |
大功告成!
PS:当然方法不止一种,以上是我比较喜欢用的方法。
本文介绍两种重置MySQL root用户密码的方法:一是已知原密码的情况下的修改流程;二是忘记原密码时,如何通过操作系统root权限绕过授权表进行密码重置。
1万+





