重置root密码的方法:
windows系统下:
1、停止mysql服务;
2、新建文件init-root.txt,写上如下内容:
update mysql.user set password = password('newpwd') where user = 'root';
flush privileges;
保存;
3、打开命令行,输入:C:mysqlinmysqld --init-file=C:\mysql-init.txt
--init-file 选项指向初始化的文件
如果MySQL是通过GUI界面安装向导安装的话,如下:
C:> "C:Program FilesMySQLMySQL Server 5.6inmysqld.exe"
--defaults-file="C:\Program Files\MySQL\MySQL Server 5.6\my.ini"
--init-file=C:\mysql-init.txt
--defaults-file 选项指向mysql的配置文件
4、服务重启后密码已经重置,可以删掉init-root.txt文件。
linux下,第一种方法类似windows中:
1、停止mysql服务(kill掉进程);
2、新建文件init-root,写上如下内容:
update mysql.user set password = password('newpwd') where user = 'root';
flush privileges;
保存;
3、在shell中运行: mysqld_safe --init-file=/home/me/mysql-init &
4、服务重启,可以删掉init-root.txt文件。
所有平台都可用的方法:
1、停止mysqld服务,
2、配置my.conf文件,加入: --skip-grant-tables选项,跳过权限检查; --skip-networking 选项阻止远程客户网络连接;
3、重启mysqld服务,
shell> service mysqld start
4、登录client,
shell> mysql
5、更改密码:
mysql> update mysql.user set password = password('newpwd') where user='root';
mysql> flush privileges;
6、关闭mysqld服务,删除--skip-grant-tables和--skip-networking选项,重启服务即可
参考:
MySQL官方文档:
http://dev.mysql.com/doc/refman/5.6/en/resetting-permissions.html