在使用MySQL数据库时由于某些原因长时间没有登陆MySQL或者由于工作交接完成度不高导致数据库root登陆密码忘记如何解决一、更改my.cnf配置文件1.1 用命令编辑/etc/my.cnf配置文件即vim /etc/my.cnf 或者 vi /etc/my.cnf 或者 nano /etc/my.cnf1.2 在[mysqld]下添加skip-grant-tables然后保存并退出1.3 重启mysql服务service mysqld restart二、更改root用户名2.1 重启以后执行mysql命令进入mysql命令行2.2 修改root用户密码UPDATE mysql.user SET PasswordPASSWORD(‘新密码’) where USER‘root’;flush privileges;exit注意以上是5.7之前的版本使用5.7之后的版本没有Password字段password字段改成了authentication_stringupdate mysql.user set authentication_stringpassword(‘root123456’) where user‘root’; #修改密码成功flush privileges; #立即生效quitmysql -u ******* -p #以该用户登录成功.注意5.7之后的版本密码不能过于简单如123456否则会报以下错误ERROR 1819 (HY000): Your password does not satisfy the current policy requirements。此时要么把密码设置复杂点要么修改配置这个其实与validate_password_policy的值有关。validate_password_policy有以下取值默认是1即MEDIUM所以刚开始设置的密码必须符合长度且必须含有数字小写或大写字母特殊字符。有时候只是为了自己测试不想密码设置得那么复杂譬如说我只想设置root的密码为123456。必须修改两个全局参数首先修改validate_password_policy参数的值set global validate_password_policy0;set global validate_password_length1;alter user ‘root’‘localhost’ identified by ‘123456’;2.3 最后把/etc/my.cnf中的skip-grant-tables注释掉然后重启mysql即service mysqld restartOK下面我们就可以使用root新的密码登录MySQL了。