MySql 修改密码后的错误快速解决方法
设置好密码后,使用数据库时出现如下错误:
error 1820 (hy000): you must reset your password using alter user statement befo
re executing this statement.
you must set password before executing this statement的解决方法
今天在mysql5.6操作时报错:you must set password before executing this statement解决方法,需要的朋友可以参考下
参考前文利用安全模式成功登陆,然后修改密码,等于给mysql设置了密码。登陆进去后,想创建一个数据库测试下。得到的结果确实:
error 1820 (hy000): you must set password before executing this statement
非常诡异啊,明明用密码登陆进去了,怎么还提示需要密码。
参考官方的一个文档,见。如下操作后就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)'
现在终于找到解决方法了。本来准备重装的,现在不必了。
方法操作很简单,如下:
# /etc/init.d/mysql stop # mysqld_safe --user=mysql --skip-grant-tables --skip-networking & # mysql -u root 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>
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 修改密码后的错误快速解决方法,希望对大家有所帮助