Centos7編譯安裝MariaDB

編譯安裝過程
(1) 準(zhǔn)備用戶

groupadd -r -g 27 mysql
useradd -r -g 27 -u 27 -s /sbin/nologin mysql

(2) 準(zhǔn)備數(shù)據(jù)目錄 以/mariadb為例,建議使用邏輯卷

mkdir /mariadb
chown mysql:mysql /mariadb

(3) 準(zhǔn)備源碼包江锨,下載并解壓

wget https://mirrors.tuna.tsinghua.edu.cn/mariadb//mariadb-5.5.59/source/mariadb-5.5.59.tar.gz
tar xvf mariadb-5.5.59.tar.gz -C /root/
cd /root

(4)編譯環(huán)境準(zhǔn)備
首先安裝/更新一些編譯時(shí)會(huì)用到的基礎(chǔ)包

[root@localhost local]# yum -y install gcc gcc-c++ make cmake ncurses ncurses-devel libxml2 libxml2-devel openssl-devel bison bison-deve

mkdir /etc/mariadb //存放主配置文件的目錄
mkdir /usr/local/mariadb //存放編譯好的二進(jìn)制程序目錄

(5)編譯安裝

cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mariadb \
-DMYSQL_DATADIR=/mariadb \
-DSYSCONFDIR=/etc/mariadb \
-DMYSQL_USER=mysql \
-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=/mariadb/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_DEBUG=0 \
-DWITHOUT_MROONGA_STORAGE_ENGINE=1

make && make install
chown -R root:mysql /usr/local/mariadb

錯(cuò)誤集錦:
如果在make過程中出如下錯(cuò)矛辕,可考慮一下是內(nèi)存問題,1G內(nèi)存沒開swap編譯出錯(cuò)

image.png

如果make報(bào)錯(cuò)
錯(cuò)誤信息:mysqld.cc: In function ‘void handle_connections_sockets()’
主要是沒有安裝libmcrypt相關(guān)的包,直接使用yum install libmcrypt* -y安裝完成后侯勉,在重新編譯在編譯出現(xiàn)異常,在重新編譯的時(shí)候鹿寻,需要先刪除mysql目錄下cmakecache.txt再重新編譯娱挨。

(6)編譯好的程序目錄導(dǎo)入至PATH環(huán)境變量中
編輯文件

vim /etc/profile.d/mariadb.sh
export PATH=/usr/local/mariadb/bin:$PATH

(7)導(dǎo)入幫助手冊(cè)
編輯文件

vim /etc/man.config|man_db.conf
MANPATH_MAP /usr/local/mariadb/bin /usr/local/mariadb/man //添加此行

更新man數(shù)據(jù)庫

mandb

(8) 準(zhǔn)備配置文件配置格式

cd /usr/local/mariadb/
cp -a support-files/support-files/my-innodb-heavy-4G.cnf /etc/mariadb/my.cnf

[client]中添加一個(gè)選項(xiàng)

safe_updates

[mysqld]中添加三個(gè)選項(xiàng):

datadir = /mariadb
innodb_file_per_table = on
skip_name_resolve = on 禁止主機(jī)名解析,建議使用

(9)初始化數(shù)據(jù)庫醉途,創(chuàng)建數(shù)據(jù)庫文件

cd /usr/local/mariadb/
./scripts/mysql_install_db --datadir=/mariadb --user=mysql

(10)準(zhǔn)備日志文件

touch /var/log/mysqld.log
chown mysql /var/log/mysqld.log

(11)準(zhǔn)備服務(wù)腳本矾瑰,并啟動(dòng)服務(wù)

cd /usr/local/mariadb/
cp ./support-files/mysql.server /etc/rc.d/init.d/mariadb
cd /etc/rc.d/init.d/
chkconfig --add mariadb
service mariadb start

(12)安全初始化

[root@wangshuai mariadb]#mysql_secure_installation
/usr/local/mariadb/bin/mysql_secure_installation: line 393: find_mysql_client: command not found
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none): //當(dāng)前數(shù)據(jù)庫密碼為空,直接敲擊回車隘擎。
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MariaDB

root user without the proper authorisation.
You already have a root password set, so you can safely answer 'n'.
Set root password? [Y/n] y
New password: //輸入要為root用戶設(shè)置的數(shù)據(jù)庫密碼殴穴。
Re-enter new password: //重復(fù)再輸入一次密碼。
Password updated successfully!
Reloading privilege tables..
... Success!
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] y //(刪除匿名帳號(hào))
... Success!
Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] n //(禁止root用戶從遠(yuǎn)程登陸)
... skipping.
By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] y //(刪除test數(shù)據(jù)庫并取消對(duì)其的訪問權(quán)限)
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] y //(刷新授權(quán)表货葬,讓初始化后的設(shè)定立即生效)
... Success!
Cleaning up...
All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!
[root@wangshuai mariadb]#

(13)登陸測(cè)試

[root@wangshuai ~]#mysql -uroot -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 22
Server version: 5.5.59-MariaDB Source distribution
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
+--------------------+
3 rows in set (0.01 sec)
MariaDB [(none)]> exit
Bye
[root@wangshuai ~]#

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末采幌,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子震桶,更是在濱河造成了極大的恐慌休傍,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,451評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蹲姐,死亡現(xiàn)場(chǎng)離奇詭異磨取,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)柴墩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門忙厌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人江咳,你說我怎么就攤上這事逢净。” “怎么了歼指?”我有些...
    開封第一講書人閱讀 164,782評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵爹土,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我东臀,道長(zhǎng)着饥,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,709評(píng)論 1 294
  • 正文 為了忘掉前任惰赋,我火速辦了婚禮宰掉,結(jié)果婚禮上呵哨,老公的妹妹穿的比我還像新娘。我一直安慰自己轨奄,他們只是感情好孟害,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,733評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著挪拟,像睡著了一般挨务。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上玉组,一...
    開封第一講書人閱讀 51,578評(píng)論 1 305
  • 那天谎柄,我揣著相機(jī)與錄音,去河邊找鬼惯雳。 笑死朝巫,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的石景。 我是一名探鬼主播劈猿,決...
    沈念sama閱讀 40,320評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼潮孽!你這毒婦竟也來了揪荣?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,241評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤往史,失蹤者是張志新(化名)和其女友劉穎仗颈,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體怠堪,經(jīng)...
    沈念sama閱讀 45,686評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡揽乱,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,878評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了粟矿。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,992評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡损拢,死狀恐怖陌粹,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情福压,我是刑警寧澤掏秩,帶...
    沈念sama閱讀 35,715評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站荆姆,受9級(jí)特大地震影響蒙幻,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜胆筒,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,336評(píng)論 3 330
  • 文/蒙蒙 一邮破、第九天 我趴在偏房一處隱蔽的房頂上張望诈豌。 院中可真熱鬧,春花似錦抒和、人聲如沸矫渔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽庙洼。三九已至,卻和暖如春镊辕,著一層夾襖步出監(jiān)牢的瞬間油够,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評(píng)論 1 270
  • 我被黑心中介騙來泰國(guó)打工征懈, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留石咬,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,173評(píng)論 3 370
  • 正文 我出身青樓受裹,卻偏偏與公主長(zhǎng)得像碌补,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子棉饶,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,947評(píng)論 2 355