如果忘记 mysql root密码,不用着急,只需要四步就能解决问题了!
---------------------------------------------------------------------------------------------------------------------------------
具体步骤:
1、编辑MySQL配置文件:
windows环境中:%MySQL_installdir%\my.ini //一般在MySQL安装目录下有my.ini即MySQL的配置文件。
linux环境中:/etc/my.cnf
在配置[MySQLd]段添加如下一行:
skip-grant-tables
保存退出编辑。
2、然后重启MySQL服务
windows环境中:
在命令行下执行:
net stop MySQL
net start MySQL
linux环境中:
/etc/init.d/MySQLd restart
3、设置新的ROOT密码
在命令行下执行:
MySQL -u root -p MySQL
直接回车无需密码,即可进入数据库了。
现在我们执行如下语句把root密码更新为 123456:
然后在命令行下执行:
update user set password=PASSWORD("123456") where user='root';
quit
退出MySQL。
4、还原配置文件并重启服务
然后修改MySQL配置文件把刚才添加的那一行(skip-grant-tables)删除。
再次,重启MySQL服务(步骤2);
修改完毕。
新密码为123456
-------------------------------------------------------------------------------------------------------------------------------
几种常见的mysql 密码修改方法
-------------------------------------------------------------------------------------------------------------------------------
方法1: 用SET PASSWORD命令
mysql -u root
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');
---------------------------------------------------------------------------------------------------------------------------------
方法2:用mysqladmin
如果root已经设置过密码,采用如下方法
mysqladmin -u root -p password "newpass"
Enter password: oldpass (这里需要旧的密码)
注意:假如 newpass = 123456,
在cmd中不要输入"123456",只要输123456就行;
这种方法,本人试过,基本可行;
----------------------------------------------------------------------------------------------------------------------------------
方法3: 用UPDATE直接编辑user表
mysql -u root
mysql> use mysql;
mysql> UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root';
mysql> FLUSH PRIVILEGES;
-----------------------------------------------------------------------------------------------------------------------------------
参考网址: