標籤:mariadb
前言:MariaDB資料庫管理系統是MySQL的一個分支,主要由開源社區在維護,採用GPL授權許可 MariaDB的目的是完全相容MySQL,包括API和命令列,使之能輕鬆成為MySQL的代替品。在儲存引擎方面,使用XtraDB(英語:XtraDB)來代替MySQL的InnoDB。 MariaDB由MySQL的創始人Michael Widenius(英語:Michael Widenius)主導開發,他早前曾以10億美元的價格,將自己建立的公司MySQL AB賣給了SUN,此後,隨著SUN被甲骨文收購,MySQL的所有權也落入Oracle的手中。MariaDB名稱來自Michael Widenius的女兒Maria的名字。
MariaDB基於事務的Maria儲存引擎,替換了MySQL的MyISAM儲存引擎,它使用了Percona的 XtraDB,InnoDB的變體,分支的開發人員希望提供訪問即將到來的MySQL 5.4 InnoDB效能。這個版本還包括了 PrimeBase XT (PBXT) 和 FederatedX儲存引擎。
準備工作:準備二進位安裝包,這裡我用的是最新的 mariadb-10.2.8-linux-x86_64.tar.gz
(1)useradd -r -m -d /app/dbdata -s /sbin/nologin mysql
(2)準備資料目錄以/app/dbdata為例,建議使用邏輯卷,資料檔案相對比較大。
chown mysql:mysql /app/dbdata
(3)解壓安裝包到相應的目錄下
tar xvf mariadb-VERSION-linux-x86_64.tar.gz -C /usr/local
這裡放在/usr/local目錄下,是因為在安裝包裡指定的解壓路徑就是這裡
cd /usr/local 進入安裝包目錄下
ln -sv mariadb-VERSION mysql 建立一個軟連結
或者直接改名字也是可以的
mv mariadb-10.2.8-linux-x86_64 mysql
註:預設的情況下檔案目錄的名字叫mysql
chown -R root:mysql /usr/local/mysql
(4)準備設定檔配置格式:類ini格式,各程式由單個設定檔提供配[prog_name] 設定檔尋找次序:後面覆蓋前面的設定檔
/etc/my.cnf --> /etc/mysql/my.cnf --> --default-extrafile=/PATH/TO/CONF_FILE --> ~/.my.cnf mkdir /etc/mysql/
註:檔案的順序決定了優先順序,檔案的生效
cp support-files/my-large.cnf /etc/mysql/my.cnf #這裡我們自訂設定檔
註:support-files 目錄裡有樣板集合,裡有支援小型,中型,大型,超大型等資料庫設定檔
/etc/mysql/my.cnf 從上面的模板目錄中拷貝出來,然後自訂設定檔
[mysqld]中添加三個選項:
datadir = /app/dbdata
innodb_file_per_table = on innodb 資料庫引擎
skip_name_resolve = on 禁止主機名稱解析
(5)建立資料庫檔案
cd /usr/local/mysql
./scripts/mysql_install_db --datadir=/app/dbdata --user=mysql
註:執行指令碼的時候必須在這個相對的路徑下,不然會報錯
例:FATAL ERROR: Could not find ./bin/my_print_defaults
主要是為了產生資料庫相關係統的資訊
註:在迷你安裝的時候,有些系統檔案是沒有的,必須自己手動安裝才可能
例:出錯資訊:./bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
缺少安裝包libaio和libaio-devel
yum install libaio* 安裝一下就可以了
(6)準備記錄檔
cd /var/log/
mkdir /var/log/mariadb
touch /var/log/mariadb/mariadb.log
chown -R root:mysql /var/log/mariadb
chmod -R g+w /var/log/mariadb
註:這時要注意,在mysql組當中必須要有寫的許可權,不然不能記錄日誌,啟動服務的時候會出錯
(7)準備服務指令碼,並啟動服務
cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
service mysqld start
export PATH=/usr/local/mysql/bin:$PATH
註:產生path路徑
(8)安全初始化
/user/local/mysql/bin/mysql_secure_installation
註:安全環境修改指令碼
在centos7上手動安裝二進位mariadb