《MYSQL教程You must SET PASSWORD before executing this statement的解決方法》要點(diǎn):
本文介紹了MYSQL教程You must SET PASSWORD before executing this statement的解決方法,希望對您有用。如果有疑問,可以聯(lián)系我們。
參考前文利用安全模式成功登陸,然后修改密碼,等于給MySql設(shè)置了密碼.登陸進(jìn)去后,想創(chuàng)建一個(gè)數(shù)據(jù)庫測試下.得到的結(jié)果確實(shí):
ERROR 1820 (HY000): You must SET PASSWORD before executing this statement
非常詭異啊,明明用密碼登陸進(jìn)去了,怎么還提示需要密碼.
參考官方的一個(gè)文檔,見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');這句話重新設(shè)置一次密碼!大爺?shù)?真費(fèi)勁啊.
這位仁兄也遇到了相同的問題.
最近新裝好的mysql在進(jìn)入mysql工具時(shí),總是有錯誤提示:
# 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)'
現(xiàn)在終于找到解決方法了.本來準(zhǔn)備重裝的,現(xiàn)在不必了.
方法操作很簡單,如下:
# /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: <輸入新設(shè)的密碼newpassword>
MySql5.6操作時(shí)報(bào)錯: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');這句話重新設(shè)置一次密碼!
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/4027.html