Mysql忘记root密码怎么办
MySQL有时候忘记了root密码是一件伤感的事,这种情况下,如何重置root的密码呢?
找到并编辑mysql的my.ini配置文件,在mysqld节点中添加上skip-grant-table.如下:
#Theseletyousafelyresetthelostrootpassword. skip-grant-table
保存好修改,重启mysql服务。
现在就能不需要root密码的情况下连接上数据库。然后执行下面的更新:
USEmysql; UPDATEUSER SETpassword=password('yournewpasswordhere') WHEREUSER='root' ANDhost='localhost';
这样root密码就修改好了,这个时候,将my.ini中的skip-grant-table删除,再重启mysqlservice
下面介绍Windows和Linux下的密码重置方法。
windows:
1.以系统管理员身份登陆系统。
2.打开cmd-----netstart查看mysql是否启动。启动的话就停止netstopmysql.
3.我的mysql安装在d:\usr\local\mysql4\bin下。
4.跳过权限检查启动mysql.
d:\usr\local\mysql\bin\mysqld-nt--skip-grant-tables
5.重新打开cmd。进到d:\usr\local\mysql4\bin下:
d:\usr\local\mysql\bin\mysqladmin-urootflush-privilegespassword"newpassword"
d:\usr\local\mysql\bin\mysqladmin-uroot-pshutdown这句提示你重新输密码。
6.在cmd里netstartmysql
7.搞定了。
Linux:
MySQLroot密码的恢复方法之一
如果忘记了MySQLroot密码,可以用以下方法重新设置:
1.KILL掉系统里的MySQL进程;
killall-TERMMySQLd
2.用以下命令启动MySQL,以不检查权限的方式启动;
safe_MySQLd--skip-grant-tables&
3.然后用空密码方式使用root用户登录MySQL;
MySQL-uroot
4.修改root用户的密码;
MySQL>updateMySQL.usersetpassword=PASSWORD('新密码')whereUser='root';
MySQL>flushprivileges;
MySQL>quit
重新启动MySQL,就可以使用新密码登录了。
MySQLroot密码的恢复方法二
有可能你的系统没有safe_MySQLd程序(比如我现在用的ubuntu操作系统,apt-get安装的MySQL),下面方法可以恢复
1.停止MySQLd;
sudo/etc/init.d/MySQLstop
(您可能有其它的方法,总之停止MySQLd的运行就可以了)
2.用以下命令启动MySQL,以不检查权限的方式启动;
MySQLd--skip-grant-tables&
3.然后用空密码方式使用root用户登录MySQL;
MySQL-uroot
4.修改root用户的密码;
MySQL>updateMySQL.usersetpassword=PASSWORD('newpassword')whereUser='root';
MySQL>flushprivileges;
MySQL>quit
重新启动MySQL
/etc/init.d/MySQLrestart
就可以使用新密码newpassword登录了。