在ubuntu中安裝mysql的一些記錄

前幾天要測試個東西,需要用到 mysql,突然發(fā)現(xiàn)自己的機器上居然沒有安裝 mysql 服務,但對于 web 開發(fā)來說,其實掌握 mysql 還是很有必要的,現(xiàn)在分工越來越細了,云端的產(chǎn)品也越來越多了,開發(fā)人員有的時候處于溫室當中,可能裝個 mysql 也很費勁了。

為了溫習 mysql,自己根據(jù)官方文檔,在自己的阿里云 ECS(Ubuntu 16)中裝了個 mysql 5.7 主流版本,用的是包安裝方式,即官方的 MySQL APT,如果你也是初次學習 mysql,那么這篇文章很適合你。

安裝分為多種情況:

(1)全新安裝,比如機器上從來沒有安裝過mysql,沒有歷史包袱,安裝簡單輕松。

(2)機器原來采用源碼安裝過mysql,現(xiàn)在要使用 MySQL APT 安裝,這種情況沒有測試過,但類似于全新安裝。

(3)機器原來使用 MySQL APT 安裝過舊版本,現(xiàn)在想升級,這種情況官方也說的比較清楚。

(4)機器原來采用 MYSQL 非官方 APT 安裝過,現(xiàn)在想使用 MySQL APT 替換,這種情況基本也能做到無縫升級。

(5)機器原來使用 APT 安裝過 MYSQL 其他的分支(比如 MariaDB),如果想使用 MYSQL APT 升級,無法做到透明升級,需要采取另外的升級策略,尤其要先備份數(shù)據(jù)。

The MySQL APT repository can only replace distributions of MySQL maintained and distributed by Debian or Ubuntu. It cannot replace any MySQL forks found either inside or outside of the distributions' native repositories.

本文主要以全新安裝的方式介紹,也就是上述(1)和(2)兩種情況。

如果你想全新安裝,而且只是測試,那么先卸載 mysql,能避免很多問題:

#查看本機安裝了哪些 mysql 組件
$ dpkg -l | grep mysql | grep ii 

$ apt-get remove mysql-server 
$ apt-get autoremove 

#卸載對應的 mysql 多個組件
$ apt-get remove package-name

首先下載一個 DEB 包(地址:https://dev.mysql.com/downloads/repo/apt/),這個包會根據(jù)操作系統(tǒng)自動化配置本地的 apt mysql 倉庫。

這個包可以在下列平臺使用:

  • Debian 8 and 9
  • Ubuntu 16.04, 18.04, and 18.10

然后運行下列命令配置:

$ dpkg -i mysql-apt-config_0.8.12-1_all.deb 
$ apt-get update

在安裝的時候,會讓你選擇采用哪個版本的 mysql,以便配置 apt mysql 倉庫,我選擇的是 mysql 5.7,安裝完成后,在 /etc/apt/sources.list.d 目錄下出現(xiàn) mysql.list 文件,內(nèi)容如下:

deb http://repo.mysql.com/apt/ubuntu/ trusty mysql-apt-config
deb http://repo.mysql.com/apt/ubuntu/ trusty mysql-5.7
deb http://repo.mysql.com/apt/ubuntu/ trusty mysql-tools
#deb http://repo.mysql.com/apt/ubuntu/ trusty mysql-tools-preview
deb-src http://repo.mysql.com/apt/ubuntu/ trusty mysql-5.7 

可以手動編輯 mysql.list,如果你想采用 mysql 5.6 版本,可以運行下列命令,重新選擇:

$ dpkg-reconfigure mysql-apt-config

一旦啟用了 MYSQL APT,非官方的 mysql apt 將無法使用,這一點是要注意的。

接下去就是安裝 mysql 了,執(zhí)行下列命令:

$ apt-get install mysql-server 

# 查看 mysql 是否運行。
$ service mysql status
$ service mysql start

根據(jù)官方文檔的描述,在安裝 mysql 的時候會讓你輸入 root 的登錄密碼,但在我的 Ubuntu 16 上卻沒有交互式的提示讓輸入密碼,找了下解決方案,下面簡單描述下,感覺并不是最好的解決方案。

打開 /etc/mysql/debian.cnf 文件:

[client]
host     = localhost
user     = debian-sys-maint
password = password
socket   = /var/run/mysqld/mysqld.sock 

用debian-sys-maint賬戶可以成功登錄 mysql,而且權(quán)限是極高的,如果你想讓你的服務更安全,運行:

$ mysql_secure_installation 

腳本會交互式的問你是否重置密碼、移除匿名用戶、移除 test 數(shù)據(jù)庫。運行該腳本,需要 root 用戶的權(quán)限(開始也可以使用 debian-sys-maint 賬戶)。

記得以前安裝 mysql 的時候,在 CentOS 系統(tǒng)下,需要手動運行 mysql_install_dbmysqld --initialize 腳本用于初始化目錄,在 Debain 系統(tǒng)下(包括 Ubuntu),這一步在安裝 mysql 的時候會自動完成。

需要注意的是,在不同的平臺(比如 CentOS),安裝方式是不一樣的,不能照搬硬套,而且網(wǎng)上很多文章由于年代的原因,可能并不合適了,建議參考最新的官方文檔。


歡迎關(guān)注我的公眾號(ID:yudadanwx,虞大膽的嘰嘰喳喳),一直在用心寫。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容