Mysql在 Ubuntu 18.04中的有一個大坑,你知道嗎?

在Ubuntu 18.04 中如果你直接 sudo apt install mysql-server,那麼恭喜你踩坑。

直接使用命令安裝Mysql Server安裝的是Mysql 5.7,而Mysql 5.7 是沒有兼容到Ubuntu 18.04 的,在Mysql 18.04 使用會出現一些問題,比如使用Mysql Workbench連接會恆報 “Access denied for user 'root'@'localhost'”。

使用命令“mysql -uroot” 連接也會恆報“Access denied for user 'root'@'localhost”,但使用命令“sudo mysql -uroot”連接到是可以。

這樣就會給開發造成很大的麻煩,其實在Ubuntu 18.04 中我們可以安裝Mysql 8 , Mysql 8 是兼容到Ubuntu 18.04的。

要在安裝Mysql 8 要先安裝一個“mysql-apt-config_0.8.10-1_all.deb”包,打開下載頁面以後,點擊頁面中的“Download”。

點擊“Download”以後會進入下載頁面,然後點擊下面的“No thanks, just start my download.”

下載完畢以後使用下面的命令安裝

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

安裝過程中會讓你選擇Mysql 的版本,選中“Mysql Server & Cluster”,進入版本選擇頁

選中Mysql 8,再按Tab鍵選中“確定”,回車,回車後會回到上圖的界面,選中“OK”,再回車

出現這個界面就是安裝並且配置完成了

然後執行下面的命令更新下系統

sudo apt update

如果你已經安裝了Mysql 5.7,更新完系統會提示你有包需要更新,但是你直接“sudo apt upgrade”的話是更新不了的, 要先把老版本的Mysql卸載。在卸載過程中會提示你要不要清除所有數據庫,如果你的數據庫裡面沒有重要數據建議清除。 使用下面的命令卸載老版本的mysql。

sudo apt autoremove mysql-client mysql-server mysql-workbench --purge

老版本的Mysql卸載完成以後可以使用下面的命令安裝8.0版本。“mysql-workbench”是GUI的管理工具, 如果你的Ubuntu沒有桌面環境不要安裝這個包。

sudo apt install mysql-client mysql-server mysql-workbench

安裝過程中會讓你輸入Mysql 的root密碼

輸入密碼以後要讓你再重複輸入一次密碼

重新輸入密碼以後出現軟件包描述頁面,直接回車就行。

然後選擇密碼加密方式,選擇第二個,如果選擇第一個的話用Mysql Workbench連接的時候會不支持授權方式

安裝完成以後直接打開Mysql Workbench,點擊“Localhost Instance 3306” 就可以連接了,不再做任何配置。

打開連接後點擊菜單裡面的“Server”-->“Server Status”可以查看Mysql服務相關信息,可以看到Mysql 版本是8.0