最近安裝使用 MySQL 時,還沒開始使用,就遇到一個XX的問題。在 Win10 自帶的子系統安裝完 MySQL
版本信息如下:
執行:sudo service mysql start ,正常啓動 mysql
然後根據某菜鳥網站指導操作,設置root用戶密碼 sudo mysqladmin -u root password “123456” ,好吧,結果不知啥原因
說是默認密碼爲空,繼續嘗試 … ,結果還是一樣,也不大行
ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: NO)
搞半天,沒登錄進去 $_ $,我決定睡覺了
第二天,想到重新設置root密碼的方法試試行不行,上班時間抽空百度,終於被我翻到了這樣一篇
嗯,沒錯,救星來了 Ubuntu爲mysql的root用戶密碼問題,感謝這位大佬。
解決方法就是先修改mysql配置文件,免密登錄數據庫,之後修改 root 密碼,重啓後,就可正常訪問了。雖是這樣,但是網上大部分方式都不大行,也可能是因爲我係統是 win10 子系統吧,不造爲啥
看到最多的是,在 /etc/mysql/my.cnf 中找到 [mysql] 節點配置 skip-grant-tables,但是這個文件是空的,因此配置了也沒啥用。
最後解決是在 /etc/mysql/mysql.conf.d/mysqld.cnf 文件中,添加 skip-grant-tables
保存後,重啓 mysql 服務: sudo service mysql restart ,如果重啓失敗就直接 kill 然後重新啓動就可以了。
接下來就是重新設置root密碼了,方法是:使用/etc/mysql/debian.cnf下的用戶名免密登錄mysql,直接回車,然後爲root用戶設置密碼。
登錄後設置root密碼,執行 set password for root@localhost=password(‘123’); ,好吧,又出現下面報錯
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
執行 flush privileges;,再重新設置, Query OK !
最後,執行 sudo mysql -u root -p,輸入剛設置的密碼,登錄成功,別忘了去掉 skip-grant-tables。
到此,MySQL 安裝環境問題已得到解決,該收拾睡覺了~~