MariaDB簡介及安裝
一、MariaDB簡介
MariaDB資料庫管理系統是MySQL的一個分支,主要由開源社群在維護,採用GPL授權許可。開發這個分支的原因之一是:甲骨文公司收購了MySQL後,有將MySQL閉源的潛在風險,因此社群採用分支的方式來避開這個風險。 MariaDB的目的是完全相容MySQL,包括API和命令列,使之能輕鬆成為MySQL的代替品。 MariaDB由MySQL的創始人麥克爾·維德紐斯主導開發,他早前曾以10億美元的價格,將自己建立的公司MySQL AB賣給了SUN,此後,隨著SUN被甲骨文收購,MySQL的所有權也落入Oracle的手中。
二、MariaDB和MySQL的相容
此處簡要列舉了MariaDB和MySQL的版本相容性,詳情請參考
Slave↓ Master→ | MariaDB-5.5 | MariaDB-10.0 | MariaDB-10.1 | MariaDB-10.2 | MySQL-5.6 | MySQL-5.7 | MySQL-8.0 |
---|---|---|---|---|---|---|---|
MariaDB-5.5 | Ok | No | No | No | No | No | No |
MariaDB-10.0 | Ok | Ok | OK | ||||
MariaDB-10.1 | Ok | Ok | Ok | OK | |||
MariaDB-10.2 | Ok | Ok | Ok | Ok | Ok | Ok | |
MySQL-5.6 | X | X | X | ||||
MySQL-5.7 | X | X | X | ||||
MySQL-8.0 | X | X | X |
三、Windows下安裝(Win7)
1. 獲取安裝包
下載地址 這裡選擇版本10.2.11(64位)ZIP壓縮包安裝,使用者可根據自身需求進行調整。 注意:在安裝之前,先檢測系統之前是否安裝過mysql,如有請關閉mysql安裝mariadb。
2. 解壓
安裝包下載完成後,解壓到D: \MariaDB\mariadb-10.2.11-winx64目錄,使用管理員身份執行命令列視窗,切換目錄到安裝包的bin目錄下:
cd D:\MariaDB\mariadb-10.2.11-winx64\bin
3. 配置
在mariadb安裝目錄下的有好幾種配置模板,分別用於不同的環境,這裡簡要說明一下:
配置檔案 | 說明 |
---|---|
my-small.ini | 這個是為小型資料庫或者個人測試使用的,不能用於生產環境 |
my-medium.ini | 這個適用於中等規模的資料庫,比如個人專案或者小型企業專案中 |
my-large.ini | 一般用於專門提供SQL服務的伺服器中,即專門執行資料庫服務的主機,配置要求要更高一些,適用於生產環境 |
my-huge.ini | 用於企業級伺服器中的資料庫服務,一般更多用於生產環境使用 |
所以根據以上幾個檔案,如果個人使用或者測試,那麼可以使用前兩個模板;企業伺服器或者64G以上的高配置伺服器可以使用後面兩個模板,另外也可以根據自己的需求來加大引數和擴充配置獲得更好的效能。
選擇合適的配置檔案,重新命名為my.ini並編輯:
在檔案的 [mysqld] 節點下新增內容:datadir = D:/ MariaDB/mariadb-10.2.11-winx64
配置完成,儲存並退出。
4. 安裝
用mysql_install_db.exe 來建立資料庫例項: 從MariaDB 5.2.6版以後,不論基於任何原因,用mysql_install_db.exe 來建立資料庫例項將更安全(預設禁用匿名使用者、可在設定過程設定root使用者密碼)、方便(可以建立Windows服務、指定資料庫存放目錄)的! 引數:
Parameter | Description |
---|---|
-?, --help | Display help message and exit |
-d, --datadir=name | Data directory of the new database |
-S, --service=name | Name of the Windows service |
-p, --password=name | Password of the root user |
-P, --port=# | mysqld port |
-W, --socket=name | named pipe name |
-D, --default-user | Create default user |
-R, --allow-remote-root-access | Allow remote access from network for user root |
-N, --skip-networking Do not use | TCP connections, use pipe instead |
-i, --innodb-page-size | Innodb page size, since MariaDB 10.2.5 |
安裝命令:
mysql_install_db.exe --datadir=D: \MariaDB\ mariadb-10.2.11-winx64\data --service=mariaDB --password=123456
注意:要建立Windows服務,mysql_install_db.exe應由具有完全管理員許可權的使用者執行
5. 啟動
啟動服務命令: sc start mariaDB 注意:mariaDB為步驟3安裝過程中建立的服務名稱。
在啟動mariaDB服務之前,已經關閉了MySQL服務,這裡未做安裝 MariaDB 並同時執行 MySQL,如有需要,請參考官網地址。
四、Linux下安裝(CentOS-7.0)
1. 獲取安裝包
下載地址 這裡選擇版本10.1.19(64位)安裝,使用者可根據自身需求進行調整。
這裡下載包含glibc和不包含glibc的都是可以的,如果下載包含glibc的,那麼系統的glibc版本要滿足要求,這裡要大於2.14,一般系統是可以滿足的,下載之後上傳到伺服器準備安裝。 注意:在安裝之前,先檢測系統之前是否安裝過mysql,如有請關閉mysql安裝mariadb。
2. 執行安裝包,將安裝包安裝到 /usr/local/mariadb目錄下
#tar –zxvf mariadb-10.1.29-linux-x86_64.tar.gz
#mv –zxvf mariadb-10.1.29-linux-x86_64 /usr/local/mariadb/
#cd /usr/local/mariadb
#設定軟連結
ln -s /usr/local/mariadb/bin/mysql /usr/bin
3. 建立使用者組和使用者
#groupadd mysql
#useradd –r –g mysql –s /sbin/nologin mysql
#chown –R mysql /usr/local/mariadb
#chgrp –R mysql /usr/local/mariadb
注意:使用“mysql”使用者(組)來安裝MariaDB(以保持與MySQL的相容性)
4. 相關配置
mariadb和mysql都使用my.cnf配置檔案,預設在’/etc/my.cnf’位置尋找配置檔案(有些系統中是’/etc/mysql/my.cnf’或’~/.my.cnf’),如果系統之前安裝過mysql,請備份mysql的配置檔案。
#cp /etc/my.cnf /etc/my.cnf.bak
在mariadb安裝目錄下的support-files有好幾種配置模板,已經配置好的部分引數,分別用於不同的環境,這裡簡要說明一下:
配置檔案 | 說明 |
---|---|
my-small.cnf | 這個是為小型資料庫或者個人測試使用的,不能用於生產環境 |
my-medium.cnf | 這個適用於中等規模的資料庫,比如個人專案或者小型企業專案中 |
my-large.cnf | 一般用於專門提供SQL服務的伺服器中,即專門執行資料庫服務的主機,配置要求要更高一些,適用於生產環境 |
my-huge.cnf | 用於企業級伺服器中的資料庫服務,一般更多用於生產環境使用 |
所以根據以上幾個檔案,如果個人使用或者測試,那麼可以使用前兩個模板;企業伺服器或者64G以上的高配置伺服器可以使用後面兩個模板,另外也可以根據自己的需求來加大引數和擴充配置獲得更好的效能 這裡暫時使用my-medium.cnf,
複製配置檔案:
#cp support-files/my-medium.cnf /etc/my.cnf
編輯/etc/my.cnf配置檔案
#vim /etc/my.cnf
在檔案的 [mysqld] 節點下新增內容:
basedir = /usr/local/mariadb
datadir = /usr/local/mariadb/data
配置完成,儲存並退出 注意:basedir為mariadb的安裝目錄,datadir為mariadb的資料存放目錄,使用者也可指定其他的資料存放目錄,並賦予mysql使用者該目錄的相應許可權。
5. 初始化資料庫
初始化命令,–datadir指定資料庫安裝路徑,–user指定使用者
#/usr/local/mariadb/scripts/mysql_install_db --defaults-file=/etc/my.cnf --datadir= /usr/local/mariadb/data --user=mysql
注意:系統預設從/etc/my.cnf 目錄載入配置檔案,–defaults-file=/etc/my.cnf 引數可以不選;如需改變mariadb資料存放目錄,選擇datadir= /usr/local/mariadb/data引數,否則使用/etc/my.cnf配置檔案中配置的datadir。(如果想把mariadb作為mysql的一個替代,請選擇和mysql相容的mariadb版本,把datadir設定為mysql的datadir)
6. 設定啟動指令碼
將指令碼模板複製到啟動指令碼路徑下
#cp -a support-files/mysql.server /etc/init.d/mysql
7. 啟動
【啟動】
#/etc/init.d/mysql start
或者
#service mysql start
【新增mysqld到系統服務,隨系統一起啟動】
#chkconfig mysql on
【檢視mysql服務執行狀態】
#systemctl status mysql.service
8. 設定資料庫賬戶密碼:
#mysql -u root -p
#update mysql.user set authentication_string=PASSWORD("wxchina") where user=”root”;
#flush privileges;