修改Linux系统中MySQL数据库的root密码
如果忘记了MySQL数据库root用户的密码,可以通过修改配置文件,登录时跳过密码,然后在数据库里面修改密码。一般数据库默认的用户为root。
1.执行如下命令,编辑MySQL数据库的my.cnf配置文件。
vim /etc/my.cnf
注:my.cnf配置文件的路径以实际环境为准。
2.在\[mysqld\]字段下新增如下内容,然后保存退出。
skip-grant-tables
3.执行如下命令,重启MySQL服务。
/etc/init.d/mysqld restart
注:MySQL启动脚本路径以实际环境为准。
4.执行如下命令,登录数据库。
/usr/bin/mysql
注:MySQL命令路径以实际环境为准。
5.依次执行如下SQL语句,更新密码。
USE mysql;
UPDATE user SET Password = password ('\[$Password\]') WHERE User = 'root';
flush privileges;
quit
注:\[$Password\]为新密码,不建议新密码为“123456”,此密码太简单,密码需要满足密码复杂性要求,需要大小写字母和数字组合,最小长度为8位,根据此密码策略,设置密码。
执行UPDATE user SET Password = password ('\[$Password\]') WHERE User = 'root';后报错 ERROR 1054(42S22) Unknown column 'password' in ‘field list’
错误的原因是 5.7版本上的mysql数据库下已经没有password这个字段了,password字段改成了authentication_string ,
即:UPDATE user SET authentication_string = password ('mimimimi') WHERE User = 'root';
6.再次编辑/etc/my.cnf配置文件,删除或者注释第2步添加的skip-grant-tables。
7.执行如下命令,重启MySQL服务。
/etc/init.d/mysqld restart
8.使用新密码登录数据库,确认能正常登录。