本文介紹在Ubuntu 18.04、Ubuntu 18.10系統上安裝2019年2月21日發佈的MariaDB 10.3.13穩定版本,目前也有推出10.4版本,但建議部署服務器的機器安裝Stable版本。
在Ubuntu 18.04/18.10上從官方存儲庫安裝最新的MariaDB版本
默認的Ubuntu存儲庫包含MariaDB軟件包,但版本已過期,Ubuntu 18.04/18.10都只包含MariaDB 10.1,我們可以從官方MariaDB存儲庫安裝最新版本。
訪問MariaDB下載頁面並選擇你要使用的Linux發行版、發行版、版本和存儲庫鏡像,例如,我選擇了Ubuntu 18.04、MariaDB 10.3和Limestone Networks鏡像,如下面的屏幕截圖所示:
完成所有選擇後,頁面底部將顯示自定義說明,作爲示例,我需要運行以下命令以在Ubuntu 18.04上添加存儲庫:
sudo apt-get install software-properties-common
sudo apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc'
sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://mirrors.accretive-networks.net/mariadb/repo/10.4/ubuntu bionic main'
要在Ubuntu 18.10上添加存儲庫,只需在上面第三個命令中用cosmic替換bionic,即僅換成:
sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://mirrors.accretive-networks.net/mariadb/repo/10.4/ubuntu bionic main'
前面兩個命令不變。
然後更新包索引並安裝MariaDB服務器:
sudo apt update
sudo apt install mariadb-server
galera-3軟件包將自動與MariaDB服務器一起安裝,在安裝過程中,系統會要求你爲MariaDB root用戶創建密碼:
安裝完成後,MariaDB服務器會自動啓動,可以通過以下方式檢查其狀態:
systemctl status mysql
或者
systemctl status mariadb
提示:如果上述命令沒有立即退出,按Q鍵獲取終端控制權。
如果它沒有運行,可以手動啓動它:
sudo systemctl start mariadb
要在啓動時啓用自動啓動,請運行:
sudo systemctl enable mariadb
要登錄MariaDB監視器,請運行:
mysql -u root -p
或者
mariadb -u root -p
輸入MariaDB root密碼:
我們可以看到服務器版本是10.3.13,是從mariadb網站二進制發行版安裝的,要註銷,請運行:
exit;
注:要安裝10.4版本請參考在Ubuntu 18.04系統上安裝MariaDB 10.4的步驟。
故障排除
如果你之前從默認的Ubuntu存儲庫安裝了MariaDB,現在你從mariadb網站安裝了最新的MariaDB,那麼在嘗試登錄時可能會遇到以下錯誤:
ERROR 1524 (HY000): Plugin 'unix_socket' is not loaded
這是因爲MariaDB二進制文件仍然使用mysql_native_password插件來驗證用戶登錄,而來自Ubuntu存儲庫的MariaDB二進制文件使用unix_socket插件來驗證用戶登錄,前者要求用戶輸入密碼,而後者允許用戶運行以下命令登錄,而不必提供MariaDB root密碼:
sudo mysql -u root
最初MariaDB root用戶設置爲使用unix_socket登錄,因爲它是從Ubuntu存儲庫安裝的,但現在你從mariadb安裝了一個新的二進制文件,它禁用了unix_socket插件,所以你會看到上面的錯誤。
運行安裝後腳本
要儘可能保護MariaDB服務器,請運行安裝後腳本:
sudo mysql_secure_installation
輸入你的MariaDB root密碼,然後回答n:
接下來,可以按Enter鍵回答所有剩餘的問題,這將刪除匿名用戶,禁用遠程root登錄並刪除測試數據庫,也可以更改root密碼,參考快速重置MariaDB或是MySQL的root密碼,此步驟是MariaDB數據庫安全性的基本要求(請注意,Y是大寫的,這意味着它是默認答案):
InnoDB與XtraDB存儲引擎
默認情況下,在MariaDB 10.1之前,MariaDB使用XtraDB存儲引擎,這是來自MySQL的InnoDB存儲引擎的性能增強分支,但是,隨着時間的推移,MySQL已經實現了幾乎所有的改進,InnoDB已經趕上了,所以從MariaDB 10.2開始,InnoDB就是默認引擎。
要檢查哪個是默認存儲引擎,請登錄MariaDB監視器並運行以下命令:
show engines;
在MariaDB 10.1上,上面的命令返回以下結果,表明XtraDB是默認引擎:
在MariaDB 10.2和10.3上,上面的命令返回以下結果,表示InnoDB是默認引擎:
結語
以上就是在Ubuntu 18.04上安裝MariaDB 10.3的方法,要在Ubuntu 18.10上安裝僅需要把命令中含有的bionic更改成cosmic即可,其它的步驟和命令是相同的。