Linux下編譯安裝MariaDB

  MariaDB是MySQL的一個開源分支,主要是社區在維護,而且徹底兼容MySQL,而且能夠很方便的稱爲MySQL的替代,MariaDB的誕生正是出自MySQL創始人Michael Widenius之手,命名的來源是他女兒的名字Maria,由於以前他把MySQL賣給sun公司,而sun又被oracle收購,因此MySQL也屬於oracle全部,所以存在閉源的風險;而Michael Widenius開發的MariaDB做爲MySQL的開源分支,很好的避免的這個潛在的問題,因此MariaDB成爲了MySQL將來的替代,不少廠商也愈來愈關注MariaDB,而且MariaDB在不少方面的性能也要強過MySQL,像目前Windows桌面的php集成開發環境好比xampp還有linux和lnmp環境都採用MariaDB做爲默認的數據庫,因此從MySQL轉向MariaDB也是一種趨勢php

  以上說那麼多,使用MariaDB的第一步是要部署在操做系統,如今開始在Linux上用編譯源碼的方式來安裝MariaDBmysql

  首先去MariaDB官網下載安裝包,首頁是:https://mariadb.org/linux

  

  而後點擊Download進入下載頁,地址是:https://downloads.mariadb.org/sql

  

  這裏點擊綠色按鈕下載最新穩定版10.1.18,進入選擇頁面:shell

  

  由於這裏是編譯安裝,因此暫時不針對某一系統的二進制包進行下載,這裏下載源碼包mariadb-10.1.18.tar.gz,下載以後上傳至服務器數據庫

  安裝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

  這裏提早預約mysql的安裝目錄爲/usr/local/mysql而且數據目錄爲/data1/mysql,這裏要創建用戶和目錄,而且賦予mysql用戶權限,操做以下:服務器

groupadd -r mysql
useradd -g mysql -s /sbin/nologin mysql
mkdir /usr/local/mysql
mkdir -p /data1/mysql
chown -R mysql:mysql /data1/mysql/

  如今能夠開始安裝了,解壓安裝包,並進入目錄:oracle

tar -xvzf mariadb-10.1.18.tar.gz
cd mariadb-10.1.18/

  執行編譯安裝:socket

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

  這裏說明一下:-DCMAKE_INSTALL_PREFIX是指定安裝的位置,這裏是/usr/local/mysql,-DMYSQL_DATADIR是指定MySQL的數據目錄,這裏是/data1/mysql,安裝目錄和數據目錄均可以自定義設置,-DSYSCONFDIR是指定配置文件所在的目錄,通常都是/etc ,具體的配置文件是/etc/my.cnf,-DWITHOUT_TOKUDB=1這個參數通常都要設置上,表示不安裝tokudb引擎,tokudb是MySQL中一款開源的存儲引擎,能夠管理大量數據而且有一些新的特性,這些是Innodb所不具有的,這裏之因此不安裝,是由於通常計算機默認是沒有Percona Server的,而且加載tokudb還要依賴jemalloc內存優化,通常開發中也是不用tokudb的,因此暫時屏蔽掉,不然在系統中找不到依賴會出現:CMake Error at storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake:179 (message)這樣的錯誤,而後後面那些參數都是可選的,能夠加也能夠不加,最後的編碼建議設置一下,因此編譯指令也能夠簡化成下面這樣:

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data1/mysql -DSYSCONFDIR=/etc -DWITHOUT_TOKUDB=1 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci

  注意:若是萬一執行中有了錯誤,能夠執行: rm -f CMakeCache.txt 刪除編譯緩存,讓指令從新執行,不然每次讀取這個文件,命令修改正確也是報錯

  cmake沒問題,能夠編譯而且安裝了: make && make install 時間有點長,耐心等待

  執行完成也就是安裝完成了,如今執行 cd /usr/local/mysql/ 進入mysql安裝目錄分別執行下面命令:

chown -R mysql:mysql .
scripts/mysql_install_db --datadir=/data1/mysql --user=mysql
chown -R root .
cp support-files/mysql.server /etc/init.d/mysqld

  而後還能夠將mysqld添加至系統服務:

chkconfig --add mysqld   # 添加至系統服務
chkconfig mysqld on    # 設置開機自啓動

  如今若是啓動可能會報錯,緣由是日誌目錄沒有創建,默認是/var/log/mariadb/mariadb.log,後來也能夠修改,如今執行: mkdir /var/log/mariadb 創建日誌目錄,而後執行: /etc/init.d/mysqld start 或者 systemctl start mysqld.service 均可以啓動mysql服務

  啓動服務後,還不能立刻進入mysql shell界面,緣由是剛纔編譯時執行本地socket爲:/tmp/mysql.sock可是查看/etc/my.cnf中配置的位置倒是:/var/lib/mysql/mysql.sock,如今執行命令: ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock 創建軟連接便可

  爲了方即可以將mysql目錄添加到環境變量,如今能夠執行 ./bin/mysql 直接進入MariaDB交互式界面了,默認root用戶密碼爲空:

  

  到這裏MariaDB的編譯安裝過程就所有安裝完成了,至於後續的修改密碼,遠程用戶受權,sql操做等等與以前MySQL徹底一致,因此就不在詳細敘述了

  關於MariaDB二進制包的安裝,後續可能會繼續更新相關的文檔

相關文章
相關標籤/搜索