ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.html
今天在MySql5.6操做时报错:You must SET PASSWORD before executing this statement解决方法,须要的朋友能够参考下mysql
ERROR 1820 (HY000): You must SET PASSWORD before executing this statement
很是诡异啊,明明用密码登录进去了,怎么还提示须要密码。
参考官方的一个文档,见http://dev.mysql.com/doc/refman/5.6/en/alter-user.html。以下操做后就ok了:
mysql> create database yan1;
ERROR 1820 (HY000): You must SET PASSWORD before executing this statement
mysql> SET PASSWORD = PASSWORD('123456');
Query OK, 0 rows affected (0.03 sec)
mysql> create database yan1;
Query OK, 1 row affected (0.00 sec)
也就是用mysql> SET PASSWORD = PASSWORD('123456');这句话从新设置一次密码!大爷的,真费劲啊。
这位仁兄也遇到了相同的问题。
最近新装好的mysql在进入mysql工具时,老是有错误提示:
# mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
或者
# mysql -u root -p password 'newpassword'
Enter password:
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: YES)' sql
MySql5.6操做时报错:You must SET PASSWORD before executing this statement解决
mysql> SET PASSWORD = PASSWORD('123456');
Query OK, 0 rows affected (0.03 sec)
mysql> create database roger;
Query OK, 1 row affected (0.00 sec)
也就是用mysql> SET PASSWORD = PASSWORD('123456');这句话从新设置一次密码!
数据库
若是 MySQL 正在运行,首先杀之: killall -TERM mysqld。 ide
运行mysqld_safe --skip-grant-tables & 工具
若是此时不想被远程链接:mysqld_safe --skip-grant-tables --skip-networking &ui
使用mysql链接serverthis
更改密码: update mysql.user set authentication_string=password('123qwe') where user='root' and Host = 'localhost';加密
*特别提醒注意的一点是,新版的mysql数据库下的user表中已经没有Password字段了server
而是将加密后的用户密码存储于authentication_string字段
mysql> flush privileges;
mysql> quit;
修改完毕。重启
killall -TERM mysqld。
mysqld_safe &
而后mysql就能够链接了
可是此时操做彷佛功能不彻底,还要alter user...
alter user 'root'@'localhost' identified by '123';
网文说酱紫也能够:set password for 'root'@'localhost'=password('123');