在MySQL 5.7.x +中重置“root”用户密码

时间:2016-12-06 23:59:06

标签: mysql ubuntu mysql-5.7

当我尝试使用以下命令重置ubuntu系统上的MySQL root密码时

update user set password=PASSWORD("newPwd") where User="root";

我将错误视为

ERROR 1054 (42S22): Unknown column 'password' in 'field list'

1 个答案:

答案 0 :(得分:4)

在MySQL 5.7中,mysql.user表字段中的密码字段已被删除,现在字段名称为'authentication_string'。

按照以下步骤重置Ubuntu上的“root”密码

停止服务

sudo /etc/init.d/mysql stop

启动没有密码的MySQL

sudo mysqld_safe --skip-grant-tables &

**Note: the following command didn't work for me**
mysqld --skip-grant-tables &

连接MySQL

mysql -uroot

设置新的MySQL root密码

mysql>  use mysql;

mysql>  update user set authentication_string=password('yourNewPwd') where user='root';

mysql>  flush privileges;

mysql>  quit

重新启动mysql服务

sudo /etc/init.d/mysql stop

sudo /etc/init.d/mysql start

现在,您可以使用更新后的密码登录

mysql -u root -p