在安装MYSQL时,默认会弹出密码配置界面,显示设置root用户密码,但是一旦忘记就只能想办法重设了。重设ROOT密码有如下几种方法。
方法一、使用mysqladmin
# ./mysqladmin -u root password "newpassword"
# ./mysqladmin -u root -h host_name password "newpassword"
password后面的双引号不是必须的,不过如果密码包含空格或者一些特殊的符号,需要用引号。
方法二、利用mysql SET PASSWORD命令
# ./mysql -u root
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpassword');
mysql> SET PASSWORD FOR 'root'@'host_name' = PASSWORD('newpassword');
方法三、使用UPDATE语句更新user表重置ROOT密码
# ./mysql -u root
mysql> UPDATE mysql.user SET Password = PASSWORD('newpassword') WHERE User = 'root';
mysql> FLUSH PRIVILEGES;
方法四、启动MYSQL的安全模式重置ROOT密码
1、停止MySQL进程
执行:/etc/init.d/mysql stop,具体位置可能随系统不同而不同,也可能是/etc/init.d/mysql,/etc/init.d/mysqld等路径,或下面直接终止(最好不要使用下面这个强制语句):
# killall -TERM mysqld
2、以安全模式启动MySQL
# mysqld_safe –skip-grant-tables &
或,
# mysqld_safe --skip-grant-tables >/dev/null 2>&1 &
提示:mysqld_safe一般在/usr/local/mysql/bin/目录下。
3、登陆MYSQL
完成上述两步以后就可以不用密码进入MySQL了
# mysql -u root
或,
# /usr/local/mysql/bin/mysql -u root mysql
4、更改ROOT密码
以下几句依次执行:
use mysql;
select host, user, password from user;
update user set password=password(“newpassword”) where user=”root”
flush privileges;
5.退出控制台,重启MYSQL服务
service mysqld restart
或,
/etc/init.d/mysql restart
本文介绍了在忘记MySQL ROOT密码后,可以通过四种不同的方法来重置密码。这些方法包括使用mysqladmin命令、mysqlSETPASSWORD命令、UPDATE语句更新user表以及启动MySQL的安全模式。

被折叠的 条评论
为什么被折叠?



