Win10 子系統 Ubuntu 運行 MySQL 拒絕登錄如何解決的

  最近安裝使用 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 !
ok
最後,執行 sudo mysql -u root -p,輸入剛設置的密碼,登錄成功,別忘了去掉 skip-grant-tables

到此,MySQL 安裝環境問題已得到解決,該收拾睡覺了~~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章