linux - mysql 异常:ERROR 1820 (HY000): You must SET PASSWORD before executing this statement

时间:2022-05-20 17:24:22

问题描述

ERROR 1820 (HY000): You must SET PASSWORD before executing this statement

备注:新安装完数据库后,在 xshell 上登录 mysql 后,运行 SQL 语句报如上错误

解决方案一

# /etc/init.d/mysql stop // 关闭 mysql

# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &

# mysql -u root mysql // 进入 mysql

mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root' and host='root' or host='localhost'; //把空的用户密码都修改成非空的密码就行了。

mysql> FLUSH PRIVILEGES;

mysql> quit # /etc/init.d/mysqld restart

# mysql -uroot -p

Enter password: <输入新设的密码newpassword>

解决方案二

mysql>  SET PASSWORD = PASSWORD('123456');  // 用这句话重新设置一次密码,就可以了

备注

方案一、二可以搭配使用,先用一,再用二