一、環境信息:
操作系統版本:CentOS Linux release 7.3.1611 (Core)
內核版本:3.10.0-514.el7.x86_64
MariaDB版本:mariadb-10.2.10
二、安裝開發包組工具
查看開發包組是否安裝
yum grouplist
設置顯示顯示方式
localectl set-locale LANG=en_US.UTF-8
安裝開發包組工具
yum -y install "Development Tools"
安裝依賴包
yum -y install ncurses-devel openssl-devel libevent-devel jemallloc-devel cmake
三、編譯安裝MariaDB
groupadd -r mysql
useradd -g mysql -r -d /database mysql
tar xf mariadb-10.2.10.tar.gz
cd mariadb-10.2.10
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mariadb-10.2.10 -DMYSQL_DATADIR=/database/data -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_LIBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
make
make install
cmake指定編譯選項的方式不同於make,其實現方式對比如下:
./configure cmake .
./configure --help cmake . -LH or ccmake .
指定安裝文件的安裝路徑時常用的選項:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_DATADIR=/database/data
-DSYSCONFDIR=/etc
默認編譯的存儲引擎包括:csv、myisam、myisammrg和heap。若要安裝其它存儲引擎,可以使用類似如下編譯選項:
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_FEDERATED_STORAGE_ENGINE=1
若要明確指定不編譯某存儲引擎,可以使用類似如下的選項:
-DWITHOUT_<ENGINE>_STORAGE_ENGINE=1
比如:
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1
-DWITHOUT_FEDERATED_STORAGE_ENGINE=1
-DWITHOUT_PARTITION_STORAGE_ENGINE=1
如若要編譯進其它功能,如SSL等,則可使用類似如下選項來實現編譯時使用某庫或不使用某庫:
-DWITH_READLINE=1
-DWITH_SSL=system
-DWITH_ZLIB=system
-DWITH_LIBWRAP=0
其它常用的選項:
-DMYSQL_TCP_PORT=3306
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock
-DENABLED_LOCAL_INFILE=1
-DEXTRA_CHARSETS=all
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
-DWITH_DEBUG=0
-DENABLE_PROFILING=1
如果想清理此前的編譯所生成的文件,則需要使用如下命令:
make clean
rm CMakeCache.txt
四、配置MariaDB
1、編輯service文件:
vim /etc/systemd/system/mariadb.service
加入如下內容:
[Unit] Description=MariaDB server and services After=syslog.target After=network.target [Service] Type=simple User=mysql Group=mysql ExecStart=/usr/local/mysql/bin/mysqld_safe --basedir=/usr/local/mysql TimeoutSec=300 PrivateTmp=false [Install] WantedBy=multi-user.target
2、重載systemd管理器配置:
systemctl daemon-reload
3、創建mysql目錄並授權給mysql用戶和組
mkdir -pv /database/data
chown mysql.mysql /database/data
4、創建mysql的連接文件
cd /usr/local
ln -sv mariadb-10.2.10 mysql
5、復制support-files/my-large.cnf到/etc/my.cnf
cd mariadb-10.2.10/
cp support-files/my-large.cnf /etc/my.cnf
6、編輯配置文件將datadir修改為/database/data
vim /etc/my.cnf
加入:
datadir = /database/data
7、配置mysql工作目錄的權限
cd /usr/local/mariadb-10.2.10
chown root.mysql ./ -R
8、初始化數據庫
scripts/mysql_install_db --user=mysql --datadir=/database/data
9、啟動mysql服務
systemctl start mariadb.service
systemctl status mariadb.service
10、設置開機自啟動
systemctl enable mariadb.service