溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何在Linux下編譯安裝MariaDB

發(fā)布時間:2020-08-09 20:47:04 來源:ITPUB博客 閱讀:153 作者:安全劍客 欄目:建站服務(wù)器
MariaDB是MySQL的一個開源分支,主要是社區(qū)在維護(hù),并且完全兼容MySQL,并且可以很方便的稱為MySQL的替代

如何在Linux下編譯安裝MariaDB

MariaDB的誕生正是出自MySQL創(chuàng)始人Michael Widenius之手,命名的來源是他女兒的名字Maria,因?yàn)橹八袽ySQL賣給sun公司,而sun又被oracle收購,所以MySQL也屬于oracle所有,因此存在閉源的風(fēng)險;而Michael Widenius開發(fā)的MariaDB作為MySQL的開源分支,很好的避免的這個潛在的問題,所以MariaDB成為了MySQL未來的替代,很多廠商也越來越關(guān)注MariaDB,并且MariaDB在很多方面的性能也要強(qiáng)過MySQL,像目前Windows桌面的php集成開發(fā)環(huán)境比如xampp還有 linux和lnmp環(huán)境都采用MariaDB作為默認(rèn)的數(shù)據(jù)庫,所以從MySQL轉(zhuǎn)向MariaDB也是一種趨勢,以上說那么多,使用MariaDB的第一步是要部署在操作系統(tǒng),現(xiàn)在開始在Linux上用編譯源碼的方式來安裝MariaDB

準(zhǔn)備物料

首先去MariaDB官網(wǎng)下載安裝包,首頁是:https://mariadb.org/

然后點(diǎn)擊Download進(jìn)入下載頁,地址是:https://downloads.mariadb.org/

這里點(diǎn)擊綠色按鈕下載最新穩(wěn)定版10.1.18,進(jìn)入選擇頁面:

因?yàn)檫@里是編譯安裝,所以暫時不針對某一系統(tǒng)的二進(jìn)制包進(jìn)行下載,這里下載源碼包mariadb-10.1.18.tar.gz,下載之后上傳至服務(wù)器

安裝依賴

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

這里提前預(yù)定mysql的安裝目錄為/usr/local/mysql并且數(shù)據(jù)目錄為/data1/mysql,這里要建立用戶和目錄,并且賦予mysql用戶權(quán)限,操作如下:

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

現(xiàn)在可以開始安裝了,解壓安裝包,并進(jìn)入目錄:

tar -xvzf mariadb-10.1.18.tar.gz
cd mariadb-10.1.18/
編譯安裝

執(zhí)行編譯安裝:

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的數(shù)據(jù)目錄,這里是/data1/mysql,安裝目錄和數(shù)據(jù)目錄都可以自定義設(shè)置,-DSYSCONFDIR是指定配置文件所在的目錄,一般都是/etc ,具體的配置文件是/etc/my.cnf,-DWITHOUT_TOKUDB=1這個參數(shù)一般都要設(shè)置上,表示不安裝tokudb引擎,tokudb是MySQL中一款開源的存儲引擎,可以管理大量數(shù)據(jù)并且有一些新的特性,這些是Innodb所不具備的,這里之所以不安裝,是因?yàn)橐话阌嬎銠C(jī)默認(rèn)是沒有Percona Server的,并且加載tokudb還要依賴jemalloc內(nèi)存優(yōu)化,一般開發(fā)中也是不用tokudb的,所以暫時屏蔽掉,否則在系統(tǒng)中找不到依賴會出現(xiàn):
CMake Error at storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake:179 (message)這樣的錯誤,然后后面那些參數(shù)都是可選的,可以加也可以不加,最后的編碼建議設(shè)置一下,所以編譯指令也可以簡化成下面這樣:

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

注意:如果萬一執(zhí)行中有了錯誤,可以執(zhí)行:  rm -f CMakeCache.txt 刪除編譯緩存,讓指令重新執(zhí)行,否則每次讀取這個文件, 命令修改正確也是報錯

cmake沒問題,可以編譯并且安裝了:  make && make install 時間有點(diǎn)長,耐心等待

執(zhí)行完成也就是安裝完成了,現(xiàn)在執(zhí)行  cd /usr/local/mysql/ 進(jìn)入mysql安裝目錄分別執(zhí)行下面命令:

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
系統(tǒng)配置

然后還可以將mysqld添加至系統(tǒng)服務(wù):

chkconfig --add mysqld   # 添加至系統(tǒng)服務(wù)
chkconfig mysqld on    # 設(shè)置開機(jī)自啟動

現(xiàn)在如果啟動可能會報錯,原因是日志目錄沒有建立,默認(rèn)是 /var/log/mariadb/mariadb.log,后來也可以修改,現(xiàn)在執(zhí)行:  mkdir/var/log/mariadb 建立日志目錄,然后執(zhí)行:  /etc/init.d/mysqld start 或者  systemctl start mysqld.service 都可以啟動mysql服務(wù)

啟動服務(wù)后,還不能馬上進(jìn)入mysql  shell界面,原因是剛才編譯時執(zhí)行本地socket為: /tmp/mysql.sock但是查看 /etc/my.cnf中配置的位置卻是: /var/lib/mysql/mysql.sock,現(xiàn)在執(zhí)行命令:  ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock 建立軟鏈接即可

為了方便可以將mysql目錄添加到環(huán)境變量,現(xiàn)在可以執(zhí)行  ./bin/mysql 直接進(jìn)入MariaDB交互式界面了,默認(rèn)root用戶密碼為空:

到這里MariaDB的編譯安裝過程就全部安裝完成了,至于后續(xù)的修改密碼,遠(yuǎn)程用戶授權(quán),sql操作等等與之前MySQL完全一致,所以就不在詳細(xì)敘述了

關(guān)于MariaDB二進(jìn)制包的安裝,后續(xù)可能會繼續(xù)更新相關(guān)的文檔

原文地址: https://www.linuxprobe.com/linux-cc-mariadb.html

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI