准备工作:
在使用mysql相关工具或mysql命令来修改root密码之前请确保你已启动mysql服务,如果没有启动mysql服务,请在DOS模式下输入net start mysql 即可。
Mysql修改root密码命令说明
除了使用phpmyadmin、mysql服务配置工具来修改root密码之外,使用mysql修改密码命令也可以更改root的密码。
进入mysql'数据库命令行方式有两种方式:
方法一:在mysql开始菜单里包含mysql命令行客户端,只要点击输入root的密码即可进入。
方法二:在DOS模式下(CMD模式)定位到mysql安装目录下在子目录bin,调用mysql.exe进入,即C:\Program Files\MySQL\MySQL Server 5.1\bin>mysql -u root -p
Enter password:******
使用mysqladmin.exe命令来修改mysql的root密码
一般mysql的root默认密码为空,如果你之前并没有设置过root密码就使用mysqladmin命令,你可以使用如下mysqladmin命令来修改root密码
C:\Program Files\MySQL\MySQL Server 5.1\bin>mysqladmin -u root -p password 123456
Enter password:
C:\Program Files\MySQL\MySQL Server 5.1\bin>mysql -u root -p123456
如上所述使用mysqladmin第一次修改root的默认密码时,Enter password 回车即可,然后使用mysql.exe命令输入root及其密码即可进入mysql命令行。
如果已设置了mysql的root密码,现在需要修改并进入mysql命令行模式,则输入
C:\Program Files\MySQL\MySQL Server 5.1\bin>mysqladmin -u root -p123456 password hello
C:\Program Files\MySQL\MySQL Server 5.1\bin>mysql -u root -phello
即可,现在密码已经修改为hello。
知识点:这里使用了到了mysql自带的两种命令mysqladmin.exe和mysql.exe,mysqladmin修改密码的命令格式如下:
mysqladmin -u root -p[oldPass] password newPass
注意oldPass(老密码)可选,如果root默认密码为空,则不需要输入,如果需要更改老密码,请注意老密码与-p之间不要有空格,否则会报错,另外password和newPass(新密码)之间以空格分隔。
Mysql命令与mysqladmin命令格式大同小异,主要用来输入正确的用户名和密码后进入mysql命令行模式,格式如下:
mysl -u root -p[password]
如果不输入password,回车后会出现Enter password的提示,如果root密码为空,也不需要输入password,出现Enter password提示后回车即可。
使用update命令来修改mysql的root密码
使用mysql update命令既可以修改root的老密码,也可以设置root的密码为空,如果使用update命令更改root的密码,需要使用mysql自带的加密函数PASSWORD(String),该函数对一个明文密码进行加密,是不能解密的,专门用于mysql.user(用户权限表)中设置密码的。
使用update命令修改root密码的方法如下:
mysql>user mysql
Database changed
Mysql>update user set password=PASSWORD('123456') where user=''root;
Query OK.0 rows affected(0.00 sec)
Roes matched:1 Changed:0 warnings:0
Mysql>flush privileges;
Query OK,0 rows affected (0.00 sec)
注意在使用update后,需要进一步输入flush privileges;语句,否则修改密码命令操作不会生效,如果需要设置mysql的root密码为空,则不需要使用PASSWORD函数,直接
update user set password='' where user=''root; 即可,其他的一样。
使用set password命令修改mysql的root密码
Mysql>user mysql
Database changed
Mysql>set password for 'root'@'localhost'=PASSWORD('hello');
使用set password命令时也需要使用PASSWORD函数,但不需要flush privileges;即可修改密码的命令操作生效。使用set password命令修改root密码时请务必操作谨慎,容易出错导致无法登陆,
至此,常用的mysql修改root密码的方法和命令介绍完了,应该讲mysql的root密码是非常重要的,如果忘了root密码或被盗用,会产生严重的后果,建议最好重命名root用户,或者在user(用户权限表)中新建一个其他的用户,赋予常用的最低权限配置,以保证网络的安全性,也方便今后重置或者更改root密码。