1、编辑MySQL配置文件:
windows环境中:
%MySQL_installdir%\my.ini //MySQL安装目录下的my.ini配置文件。
linux环境中:
/etc/mysql/my.cnf
在[MySQLd]配置段添加如下一行:
skip-grant-tables
保存退出编辑。
2、然后重启MySQL服务
windows环境中:
net stop MySQL
net start MySQL
linux环境中:
/etc/init.d/MySQLd restart
3、设置新的ROOT密码
然后再在cmd命令行下执行:
MySQL -uroot -p MySQL
要求输入密码时直接回车无需密码即可进入数据库了。
现在我们执行如下语句把root密码更新为 123456:
update user set password=PASSWORD("123456") where user='root'
quit 退出MySQL。
4、还原配置文件并重启服务
然后修改MySQL配置文件把刚才添加的那一行(skip-grant-tables)删除。
再次重起MySQL服务,即可
二.直接使用指令(简单快捷)
停止 mysql 服务
sudo service mysql stop
使用 mysql_safe 方式启动 mysql 服务
sudo mysqld_safe --skip-grant-tables&
然后使用 mysql 命令直接登录无需密码验证:
mysql -uroot mysql
登陆 mysql 后可以重新设置 root 的密码:
> UPDATE user SET password=PASSWORD("shiyanlou") WHERE user='root';
> FLUSH PRIVILEGES;
退出后使用 sudo service mysql restart 重新启动 mysql 服务