MySQL5.6.x sha256_password插件登入用戶時報錯怎么辦,相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。
公司主營業(yè)務(wù):成都做網(wǎng)站、成都網(wǎng)站設(shè)計、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出柏鄉(xiāng)免費做網(wǎng)站回饋大家。
【問題描述】:
版本:Oracle MySQL 5.6.30
添加default-authentication-plugin=sha256_password啟動參數(shù)啟動數(shù)據(jù)庫:
mysqld_safe --default-authentication-plugin=sha256_password &
或在[mysqld]中設(shè)置default-authentication-plugin=sha256_password,并啟動數(shù)據(jù)庫。
查看一下old_passwords選項:
mysql> SELECT @@old_passwords;
+-----------------+
| @@old_passwords |
+-----------------+
| 0 |
+-----------------+
1 row in set (0.00 sec)
創(chuàng)建測試用戶并刷新授權(quán)表:
mysql> CREATE USER aa@localhost IDENTIFIED BY 'aa';
Query OK, 0 rows affected (0.01 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
登出,通過新創(chuàng)建好的用戶嘗試登入:
[root@sAno1y ~]# mysql -uaa -paa
Warning: Using a password on the command line interface can be insecure.
ERROR 2061 (HY000): Authentication plugin 'sha256_password' reported error: Authentication requires SSL encryption
關(guān)閉實例,不加該參數(shù)重啟:
mysqld_safe &
或在[mysqld]中刪除/注釋掉default-authentication-plugin=sha256_password選項,并啟動數(shù)據(jù)庫。
繼續(xù)嘗試登入:
[root@sAno1y ~]# mysqld_safe &
[1] 14052
[root@sAno1y ~]# 160818 11:54:08 mysqld_safe Logging to '/data/mysql_log/err-log.err'.
160818 11:54:08 mysqld_safe Starting mysqld daemon with databases from /data/mysql
[root@sAno1y ~]# mysql -uaa -paa
Warning: Using a password on the command line interface can be insecure.
ERROR 2061 (HY000): Authentication plugin 'sha256_password' reported error: Authentication requires SSL encryption
繼續(xù)報同樣的錯誤。
【解決方案】:
在https://bugs.mysql.com/ 中找到這樣一個帖子:
https://bugs.mysql.com/bug.php?id=68478
目前該“bug”的Status已經(jīng)被置為:Closed
結(jié)貼的是一個叫“Paul Dubois”的小哥的評論,他表示這并不是一個bug,因為bug提交者和我一樣,使用該插件時,需要通過SSL連接:
“Use of the sha256_password plugin requires that MySQL be built with SSL capabilities. See Section 6.3.9, “Using SSL for Secure Connections”.”
反之:如果用了該插件,又是用old_passwords=0的方式設(shè)置的密碼,那么又何必多此一舉使用該插件呢?
禁用該插件并重新創(chuàng)建需要創(chuàng)建的user@ip即可解決問題。
前提是其他的用戶密碼也是沒有通過old_passwords=2的方式創(chuàng)建的。
看完上述內(nèi)容,你們掌握MySQL5.6.x sha256_password插件登入用戶時報錯怎么辦的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!