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