Centos7下編譯安裝mariadb
一、安裝cacti新版的的時候yum安裝了mariadb資料庫,結果版本不符合要求,cacti要求版本在yum源上沒有配置,於是用編譯安裝的方法安裝mariadb-10.1.32
二、安裝準備
1、下載安裝包
從https://downloads.mariadb.org/下載mariadb-10.1.32.tar.gz上傳至/usr/local/src目錄下,
# tar -xvf mariadb-10.1.32.tar.gz
2、安裝編譯環境
1) 安裝MariaDB之前,首先要安裝cmake,另外為了保證不缺依賴,使用yum或者rpm安裝依賴:readline-devel,zlib-devel,openssl-devel,libaio-devel並且readline-devel依賴於ncurses-devel,如果使用yum的話會自動將所需依賴安裝好
#yum -y install readline-devel
#yum -y install zlib-devel
#yum -y install openssl-devel
#yum -y install libaio-devel
#yum -y install cmake
2)安裝編譯工具gcc、gcc++
# yum -y install gcc gcc++
3、設定安裝目錄
mysql的安裝目錄為/usr/local/mysql並且資料目錄為/data1/mysql,這裡要建立使用者和目錄,並且賦予mysql使用者許可權
# groupadd -r mysql
#useradd -g mysql -s /sbin/nologin mysql
#mkdir /usr/local/mysql
#mkdir -pv /data1/mysql
#chown -R mysql:mysql /data1/mysql/
三、編譯安裝
1、cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data1/mysql -DSYSCONFDIR=/etc -DWITHOUT_TOKUDB=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STPRAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWIYH_READLINE=1 -DWIYH_SSL=system -DVITH_ZLIB=system -DWITH_LOBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
2、make && make install
四、後續設定
安裝完成之後啟動服務失敗,後來發現是執行環境沒有設定造成的
1)拷貝配置檔案到/etc/my.cnf
#cd /usr/local/mysql/
#cp ./support-files/my-huge.cnf /etc/my.cnf
2)編輯配置檔案,新增資料庫檔案路徑
#vim /etc/my.cnf
在[mysqld]部分增加
datadir = /data/mysql
3)生成mariadb系統資料庫
#cd /usr/local/mysql/
./scripts/mysql_install_db --user=mysql
4)把mariadb加入系統啟動
#cd /usr/local/mysql/
#cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
5)增加執行許可權
#chmod 755 /etc/init.d/mysqld
6)加入開機啟動
# systemctl enable mariadb
7)編輯啟動檔案,新增安裝路徑和資料庫存放目錄
#vim /etc/rc.d/init.d/mysqld
basedir=/usr/local/mysql
datadir=/data/mysql
8)啟動測試
#systemctl start mysqld.service
9)把mariadb加入系統環境變數
#vim /etc/profile
export PATH=$PATH:/usr/local/mysql/bin
10)把mariadb庫檔案連結到預設位置
#ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql
#ln -s /usr/local/mysql/include/mysql /usr/include/mysql
至此,mariadb安裝完成