1. 程式人生 > >MariaDB簡介及安裝

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;