在安裝完MySQL5.7之后,就需要通過mysql -u root進入mysql系統(tǒng)進行數(shù)據(jù)庫&表的創(chuàng)建等工作。
但是在輸入mysql -u root回車之后,會出現(xiàn)如下信息:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
提示我們需要root賬號對應(yīng)的密碼,密碼哪里來?我們該如何解決這個問題呢?
首先,這個問題是在MySQL5.7版本之后才會有這個問題的。下面,我們通過兩種方式解決這個問題。
方法一:免密碼登錄使用
在{MySQL5.7}/根目錄下,找到my.ini文件,在[mysql]的最后添加如下配置項:
skip-grant-tables
保存后,回到控制臺,重啟MySQL服務(wù),命令如下:
net stop mysql
net start mysql
重啟完成后,再次輸入命令:
mysql -u root
就會直接進入MySQL系統(tǒng)了;
方法二:使用密碼登錄
該方案需要基于方法一,先進入系統(tǒng)之后,通過相關(guān)的操作,設(shè)置密碼,命令如下:
show databases; (顯示現(xiàn)有數(shù)據(jù)庫)
use mysql; (使用mysql數(shù)據(jù)庫)
show tables; (顯示mysql數(shù)據(jù)庫里的數(shù)據(jù)表)
select Host, User, authentication_string from user; (查詢user表里現(xiàn)有的用戶信息)
update user set authentication_string=password('123456') where user='root' and Host='localhost'; (更新root用戶的密碼為123456)
exit (退出MySQL系統(tǒng))
將方法一中的配置的“skip-grant-tables”注釋掉,以免重啟服務(wù)后,仍然不需要密碼就可以進入MySQL系統(tǒng)了;
net stop mysql (停止MySQL服務(wù))
net start mysql (啟動MySQL服務(wù))
mysql -u root -p (重新登錄MySQL系統(tǒng),此時輸入的密碼就是123456)
至此,大功告成。