Mysql数据库是PHP网站开发必不可少的组合,通常PHP连接Mysql都是通过root用户名和密码连接,Mysql在安装时root初始默认密码为空,在安装使用PHP开源系统时,都需要填写连接Mysql数据库的用户名和密码,此时当你忘记了Mysql的root密码或没有设置Mysql的root密码时,就必须要修改或设置Mysql的root密码,这个问题对于PHP入门学习者来说也是个头大的问题,其实修改Mysql的root密码有很多方法,可以利用Mysql工具,也可以使用Mysql更改root密码的命令来实现。
准备工作
在使用Mysql相关工具或Mysql命令来修改root密码之前请确保你已启动了Mysql服务,如果没有启动Mysql服务,请在DOS模式下输入
1
net start mysql
即可。
Mysql修改root密码的常用工具
使用phpmyadmin来更改root密码 如何安装配置phpmyadmin?
使用phpmyadmin来更改Mysql的root密码非常方便,安装配置好phpmyadmin后,首先登陆管理界面,点击右侧修改密码链接,输入你要修改的Mysql的root新密码,最后点击执行即可,如图:
使用phpmyadmin修改mysql的root密码
这里需要注意phpmyadmin默认是不允许Mysql的root默认密码为空登陆的,如果不小心在修改密码界面选择了空密码,你需要修改phpmyadmin的配置文件以便重新登录phpmyadmin来实现更改mysql root密码的功能。具体怎么修改下次我会说明。
使用Mysql服务配置工具修改root密码
Mysql5安装过程中有服务配置工具可以用来设置和修改root密码,即Mysql Server Instance Configuration,具体配置过程请参考PHP环境搭建:Windows 7下安装配置PHP+Apache+Mysql环境教程一文。
Mysql修改root密码命令说明
除了使用phpmyadmin、Mysql服务配置工具来修改root密码之外,使用Mysql修改密码命令也可以更改root的密码。
进入Mysql数据库命令行方式有两种方式:
方式一:在Mysql开始菜单里包含Mysql命令行客户端,只要点击输入root的密码即可进入。
方式二:在DOS模式下(CMD模式)定位到Mysql安装目录下在子目录bin,调用mysql.exe进入,即
1
2
3
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密码
1
2
3
4
5
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命令行模式,则输入
1
2
3
C:\Program Files\MySQL\MySQL Server 5.1\bin>mysqladmin -u root -p123456 password root
C:\Program Files\MySQL\MySQL Server 5.1\bin>mysql -u root -proot
即可。
知识点:这里使用了到了Mysql自带的两种命令mysqladmin.exe和mysql.exe,mysqladmin修改密码的命令格式如下
1
mysqladmin -u root -p[oldpass] password newpass
注意oldpass(老密码)可选,如果root默认密码为空,则不需要输入,如果需要更改老密码,请注意老密码与-p之间不要有空格,否则会报错,另外password和newpass(新密码)之间以空格分隔。
mysql命令与mysqladmin命令格式大同小异,主要用来输入正确的用户名和密码后进入Mysql命令行模式,格式如下
1
mysql -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密码的方法如下
1
2
3
4
5
6
7
8
9
10
11
12
13
mysql> use mysql
Database changed
mysql> update user set password=PASSWORD('123456') where user='root';
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1 Changed: 0 Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
注意在使用update后,需要进一步输入flush privileges;语句,否则修改密码命令操作不会生效,如果需要设置Mysql的root密码为空,则不需要使用PASSWORD函数,直接
1
update user set password='' where user='root';
即可,其他的一样。
使用set password命令修改Mysql的root密码
1
2
3
4
5
mysql> use mysql
Database changed
mysql> set password for 'root'@'localhost'=PASSWORD('leapsoulcn');
使用set password命令时也需要使用PASSWORD函数,但不需要flush privileges;即可使修改密码的命令操作生效。使用set password命令修改root密码时请务必操作谨慎,容易出错导致无法登陆,
至此,常用的Mysql修改root密码的方法和命令就介绍完了,应该讲Mysql的root密码是非常重要的,如果忘记了root密码或被盗用,会产生严重的后果,建议最好重命名root用户,或者在user(用户权限表)中新建一个其他用户,赋予常用的最低权限配置,以保证网站的安全性,也方便今后重置或者更改root密码。