設置好密碼後,使用數據庫時出現如下錯誤:
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
非常詭異啊,明明用密碼登陸進去了,怎麼還提示需要密碼。
參考官方的一個文檔,見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)'
現在終於找到解決方法了。本來准備重裝的,現在不必了。
方法操作很簡單,如下:
# /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 修改密碼後的錯誤快速解決方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對幫客之家網站的支持!