[WSL2] WSL2 下安裝MySQL,並從Win10連接


WSL2 下 Ubuntu 下載 MySQL8 並與WIN10連接記錄。

安裝過程

參考鏈接

1. 移除MySQL 8.0 (如果沒裝過就無視此步)

sudo apt-get purge mysql-server mysql-client
sudo apt-get -y autoremove

2. 修改dpkg的默認版本為MySQL 5.x

wget https://dev.mysql.com/get/mysql-apt-config_0.8.12-1_all.deb

sudo dpkg -i mysql-apt-config_0.8.12-1_all.deb

3. 檢查一下是不是默認版本改對了

sudo apt policy mysql-server

如果Candidate:后面是5.x版本,那么就是改好了。

接下來更新一下

sudo apt-get update

4.安裝MySQL 5.x

sudo apt-get -y install mysql-server

安裝過程如果遇到一堆需要是否的全輸入Y就ok

sudo service mysql start

此時應該正常啟動mysql,,沒有任何錯誤。

多試着開幾次,直到顯示。

然后可以試着登陸一下,默認無密碼,默認需要sudo權限來登錄。

sudo mysql -u root

5.修改默認版本為MySQL 8.x

sudo dpkg -i mysql-apt-config_0.8.12-1_all.deb

sudo apt update

sudo apt policy mysql-server

檢查一下Candidate是否為0.8.x

6. 安裝MySQL 8.x

sudo apt-get -y install mysql-server

7.修改解釋器的目錄(wsl的bug)

sudo vim /etc/init.d/mysql

vim可以用任何文本編輯器

找到

. /usr/share/mysql/mysql-helpers

將他改為

. /usr/share/mysql-8.0/mysql-helpers

即可。

8.升級系統數據表為MySQL 8.x

sudo service mysql start

sudo mysql_upgrade -u root -p

成功,蕪湖~~

疑難解答

(1)如何重啟MySQL

sudo service mysql stop

sudo service mysql start

(2) Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

請使用sudo啟動

(3) No directory, logging in with HOME=/ 或一直拒絕訪問

修改用戶模式

sudo usermode -d /var/lib/mysql/ mysql

不行就再重置UNIX密碼

sudo passwd root

然后進入root賬戶

su root

然后登錄

mysql -u root

進去成功了就ok了,可以退出root賬戶,再用sudo登錄,就可以了。

(4) 修改密碼

sudo mysqladmin -u root -p password

然后更新密碼就好啦

(5) 出現一堆.... 沒反應

多等會。

(6) 密碼不知道

wsl2 中安裝MySQL比較奇怪,安裝過程不會讓你設置初始密碼。一般密碼為空,要還不行就如下操作

修改

/etc/mysql/mysql.conf.d/mysqld.cnf

加一句

skip-grant-tables (回頭記得刪掉)

然后重啟MySQL

登錄時嘗試使用密碼,輸入空,和不使用密碼。兩種是兩個效果。

(7)不斷拒絕訪問

給非root用戶登錄root賬號的權限即可

進入mysql

use mysql;

select user,host,plugin from user;

update user set plugin = 'mysql_native_password';

flush privileges;

然后重啟MySQL

鏈接WSL2與WIN

A-Ubuntu環境

首先登進mysql

use mysql;

select host from user where user = 'root';

update user set host = '%' where user = 'root';

flush privileges;

OK大功告成。

B-Windows10 環境

首先要對MySQL的IP段關閉防火牆

再防火牆設置中新建入站規則,設置自定義模式。

再作用域中遠程IP地址添加WSL2的虛擬網卡的網關。

可以在WSL2中用輸入 ifconfig 查看

對ip和掩碼的最后一段做與運算,其他三段照抄ip就行。

后面計算下子網有多大。打開計算器輸入掩碼最后一段,然后數0的個數,數幾個就/幾。

此時我的是 172.18.77.144/4

然后狂點下一步直到名稱,隨便起個名完成。

C-連接

再wsl2中啟動mysql服務,然后再windows中cmd中輸入

mysql -h 上面的ip -u root -p

然后再輸入對應密碼,成功登錄!

如有錯誤或者其他問題,歡迎留言詢問。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM