[root@iZ2zef32qxgaqdo7w2m844Z ~]# service mysqld stop //停止mysql服务
[root@iZ2zef32qxgaqdo7w2m844Z ~]# mysqld_safe --skip-grant-tables & //启动mysqld_safe ,跳过启动授权表。启动时加上skip-grant-tables参数目的是在启动mysql时不启动grant-tables,授权表。这样就可以修改root的密码了。
[root@iZ2zef32qxgaqdo7w2m844Z ~]# mysql -uroot -p //要求输入密码时,直接回车即可
Enter password:
mysql> use mysql;
mysql> update user set authentication_string=PASSWORD('qaz123') where user = 'root'; //将root密码设置为qaz123 这里需要注意:mysql 5.7数据库下已经没有password这个字段了,password字段改成了authentication_string
mysql> flush privileges;
mysql> quit;
[root@iZ2zef32qxgaqdo7w2m844Z ~]# service mysqld stop //停止mysqld_safe
[root@iZ2zef32qxgaqdo7w2m844Z ~]# service mysqld start //重启mysql
[root@iZ2zef32qxgaqdo7w2m844Z ~]# mysql -uroot -p //重新登录 使用新密码 qaz123
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g. //登陆成功
mysql> SET PASSWORD = PASSWORD('zaq123'); //重置初始密码为 zaq123 如果不重置密码 无法进行其他操作
mysql> flush privileges; //至此 mysql用户root密码设置才算完成