CentOS7安裝通用二進(jìn)制格式MariaDB10.2.8-創(chuàng)新互聯(lián)

什么是MariaDB

MariaDB 是MySql的一個分支。 了解一下數(shù)據(jù)庫的發(fā)展歷史,我們知道,MySql數(shù)據(jù)庫不但二次易主,而且還被打入了冷宮(先被sun收購,然后sun被Oracle收購)。因?yàn)镺racle有自己的數(shù)據(jù)庫,同時只有Oracle自己的員工可以進(jìn)行MySql的研發(fā),所以MySQL之父Widenius先生離開了Sun之后,覺得依靠Sun/Oracle來發(fā)展MySQL,實(shí)在很不靠譜,于是決定另開分支,這個分支的名字叫做MariaDB。
MariaDB不僅僅是Mysql的一個替代品,它的主要目的是創(chuàng)新和提高M(jìn)ysql的技術(shù)。
MariaDB是基于MySql原來技術(shù)的基礎(chǔ)上,進(jìn)行的新的開發(fā)發(fā)展,同時兼容絕大多數(shù)MySql原有技術(shù),對于開發(fā)者來說,幾乎感受不到任何的不同。目前MariaDB是發(fā)展最快的MySQL分支版本,新版本發(fā)布速度已經(jīng)超過了Oracle官方的MySQL版本。
LAMP架構(gòu)盛極一時,這離不開MySQL的免費(fèi)與易用,但是在Oracle收購了Sun之后,很多公司開始擔(dān)憂MySQL的開源前景,而最近Oracle進(jìn)一步閉源的舉措更是讓人難以安心,眾多互聯(lián)網(wǎng)公司紛紛開始尋求MySQL的替代方案。  MariaDB繼續(xù)保持開源的理念,源源不斷的發(fā)布新版本,為互聯(lián)網(wǎng)技術(shù)提供了無限的可能,同時很多互聯(lián)網(wǎng)巨頭已經(jīng)遷移并使用了MariaDB,所以我們接下來就開始學(xué)習(xí)MariaDB啦。

創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計制作、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的召陵網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

開始安裝MariaDB

一 準(zhǔn)備實(shí)驗(yàn)環(huán)境

  • 首先去MariaDB的官方網(wǎng)站上下載MariaDB的二進(jìn)制安裝包,下載地址 https://downloads.mariadb.org/

  • 準(zhǔn)備一個沒有安裝過MySql的干凈的系統(tǒng)。

二 準(zhǔn)備用戶和數(shù)據(jù)目錄

首先準(zhǔn)備數(shù)據(jù)庫能夠所需要使用的用戶和用戶組。

# 添加名為mysql的用戶組,并指定gid 為306 # -r 為創(chuàng)建系統(tǒng)用戶組 groupadd -r -g 306 mysql # -r  表示創(chuàng)建系統(tǒng)用戶   # -g 表示執(zhí)行所屬組的gid 為306 # -u  表示指定uid 為306 # -m 創(chuàng)建家目錄 # -d 指定家目錄的路徑   # mysql  想要添加的用戶名 useradd -r -g 306 -u 306 –m –d /app/data mysql

指定數(shù)據(jù)目錄,數(shù)據(jù)目錄的作用就是存儲數(shù)據(jù)庫的位置。以 /app/dbdata 為例。

chown mysql:mysql /app/dbdata

下面我們用一張動態(tài)圖來演示上面的兩個步驟。

CentOS7安裝通用二進(jìn)制格式MariaDB 10.2.8

三 準(zhǔn)備二進(jìn)制程序

對于已經(jīng)編譯好的二進(jìn)制格式的程序包,通常我們解壓之后就能夠直接使用數(shù)據(jù)庫。但是事實(shí)上不是這么簡單。如果我們曾經(jīng)自己編譯過程序包的話,我們就會知道,在編譯二進(jìn)制程序的過程中,需要指定一些腳本的目錄,或者是二進(jìn)制執(zhí)行程序的路徑。對于MariaDB也是如此,因?yàn)槲覀兿螺d的是已經(jīng)編譯好的二進(jìn)制程序包,所以我們解壓的程序也要放到固定的目錄下,這個目錄就是/usr/local/mysql。

下面就是解壓二進(jìn)制程序的步驟,不過我們沒有直接創(chuàng)建mysql 目錄,而是建立了一個軟連接指向了我們解壓之后的目錄。

# 將壓縮文件解壓到 /usr/local 路徑下 [root@localhost ~]#tar xvf mariadb-10.2.8-linux-x86_64.tar.gz  -C /usr/local    # 切換目錄 [root@localhost ~]cd /usr/local/ # 針對解壓后的路徑 建立軟連接 [root@localhost local]#ln -sv mariadb-10.2.8-linux-x86_64/ mysql # 查看建立之后的軟連接 [root@localhost local]#ll -d m* drwxrwxr-x 12 1021 1004 290 Aug 18 04:16 mariadb-10.2.8-linux-x86_64 lrwxrwxrwx  1 root root  28 Sep 27 09:39 mysql -> mariadb-10.2.8-linux-x86_64/ #  修改目錄的權(quán)限,讓mysql 用戶具有全部高權(quán)限。 [root@localhost local]#chown -R root:mysql /usr/local/mysql/ [root@localhost local]#ll -d m* drwxrwxr-x 12 root mysql 290 Aug 18 04:16 mariadb-10.2.8-linux-x86_64 lrwxrwxrwx  1 root root   28 Sep 27 09:39 mysql -> mariadb-10.2.8-linux-x86_64/

下面我們?nèi)ゲ榭匆幌?解壓后的目錄內(nèi)一共都包含哪些內(nèi)容。

[root@localhost mysql]#ll total 176 drwxrwxr-x  2 root mysql  4096 May  3 02:05 bin -rw-r--r--  1 root mysql 17987 Aug 17 18:05 COPYING -rw-r--r--  1 root mysql 86263 Aug 17 18:05 COPYING.thirdparty -rw-r--r--  1 root mysql  2275 Aug 17 18:05 CREDITS drwxrwxr-x  3 root mysql    18 Aug 18 04:16 data -rw-r--r--  1 root mysql  8245 Aug 17 18:05 EXCEPTIONS-CLIENT drwxrwxr-x  3 root mysql    19 Aug 18 04:15 include -rw-r--r--  1 root mysql  8694 Aug 17 18:05 INSTALL-BINARY drwxrwxr-x  4 root mysql   318 May  3 02:05 lib drwxrwxr-x  4 root mysql    30 Aug 18 04:16 man drwxrwxr-x 11 root mysql  4096 Aug 18 04:16 mysql-test -rw-r--r--  1 root mysql  2371 Aug 17 18:05 README.md -rw-r--r--  1 root mysql 19510 Aug 17 18:05 README-wsrep drwxrwxr-x  2 root mysql    30 Aug 18 04:16 scripts drwxrwxr-x 30 root mysql  4096 Aug 18 04:16 share drwxrwxr-x  4 root mysql  4096 Aug 18 04:16 sql-bench drwxrwxr-x  3 root mysql   275 Aug 18 04:16 support-files
  • bin: 可執(zhí)行的二進(jìn)制程序的存放目錄,客戶端程序mysql就位于這個目錄下。

  • COPYING:版權(quán)以及開源信息

  • COPYING.thirdparty: 版權(quán)信息

  • CREDITS:關(guān)于MariaDB軟件基金會的一些相關(guān)信息,里面還有國內(nèi)的互聯(lián)網(wǎng)巨頭阿里

  • data:默認(rèn)的數(shù)據(jù)庫存放目錄,如果我們一開始沒有指定數(shù)據(jù)庫存放目錄的話,那就會被存儲到這個位置。

  • EXCEPTIONS-CLIENT:例外情況

  • include:MariaDB 所需要的一些程序文件

  • INSTALL-BINARY: 安裝幫助文檔,可以詳細(xì)閱讀,對安裝數(shù)據(jù)庫有很大的幫助

  • lib: 軟件運(yùn)行所需要的庫文件

  • man:軟件的幫助文檔

  • mysql-test: 數(shù)據(jù)庫的測試組件

  • scipts:mysql初始化初始化時要用到的腳本文件,通讀一下腳本,可以了解Mysql 的安裝過程

  • share: 共享的文件內(nèi)容

  • support-files: mysql 正常運(yùn)行所需要的配置文件或者文檔,這一點(diǎn)很重要,如果我們要自定義配置文件的話,就需要參考這里面的配置文件來進(jìn)行定義。

這里有一點(diǎn)需要注意:data目錄是數(shù)據(jù)庫的存放路徑,我們在之前已經(jīng)手動指定。在實(shí)際生產(chǎn)中,企業(yè)數(shù)據(jù)增長很快,數(shù)據(jù)庫文件有可能會很大,因此最好將該目錄指定到一個單獨(dú)的磁盤上,或者大分區(qū),或者使用邏輯卷都可以,避免因物理空間不足,導(dǎo)致出現(xiàn)故障。

四 準(zhǔn)備配置文件

MariaDB 的配置文件可以存放在多個路徑下面。但是配置文件的查找次序是固定的。這樣也就導(dǎo)致了,配置文件具有了優(yōu)先級,后面的配置會覆蓋掉前面的配置(配置參數(shù)相同的情況下)。  我們參考MariaDB 安裝路徑下的support-files 中的配置文件,創(chuàng)建一個我們自己的配置文件并存放于/etc/mysql/my.cnf 中

# 創(chuàng)建配置文件路徑  [root@localhost ~]#mkdir /etc/mysql  [root@localhost ~]#cd /etc/mysql # 將參考文件復(fù)制到我們創(chuàng)建的mysql 路徑下 [root@localhost mysql]#cp /usr/local/mysql/support-files/my-huge.cnf  /etc/mysql/my.cnf

然后在這個配置文件中,加入我們剛剛的指定的一些目錄和信息。如下圖所示。

CentOS7安裝通用二進(jìn)制格式MariaDB 10.2.8

前面我們說過,配置文件的查找執(zhí)行是有一定順序的。當(dāng)MariaDB安裝成功之后,執(zhí)行下面的命令,就可以查看到配置文件的查找順序了。

# 創(chuàng)建配置文件路徑  [root@localhost ~]#mkdir /etc/mysql  [root@localhost ~]#cd /etc/mysql # 將參考文件復(fù)制到我們創(chuàng)建的mysql 路徑下 [root@localhost mysql]#cp /usr/local/mysql/support-files/my-huge.cnf  /etc/mysql/my.cnf

五 創(chuàng)建數(shù)據(jù)庫文件

進(jìn)入到 /usr/local/mysql/ 路徑下,創(chuàng)建數(shù)據(jù)庫文件。在創(chuàng)建數(shù)據(jù)庫的同時指定數(shù)據(jù)庫存放目錄以及默認(rèn)用戶。

[root@localhost mysql]#cd /usr/local/mysql/ [root@localhost mysql]#./scripts/mysql_install_db --datadir=/app/dbdata --user=mysql # 切換到我們指定的數(shù)據(jù)庫存放路徑下面,可以看到一些相關(guān)文件。這里面的每一個路徑就是一個數(shù)據(jù)庫。 [root@localhost mysql]#cd /app/dbdata/ [root@localhost dbdata]#ls aria_log.00000001  ib_buffer_pool  ib_logfile0  mysql             mysql-bin.index  performance_schema aria_log_control   ibdata1         ib_logfile1  mysql-bin.000001  mysql-bin.state  test

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

因?yàn)镃entOS 6 和CentOS 7 的日志路徑有所不同,所以創(chuàng)建的日志文件的路徑也是不一樣的。CentOS6 中是/var/log/mysqld.log,而CentOS 7 中則是 /var/log/mariadb/mariadb.log

# 創(chuàng)建文件路徑 [root@localhost mysql]#mkdir /var/log/mariadb # 創(chuàng)建日志文件 [root@localhost mysql] /var/log/mariadb/mariadb.log # 修改文件權(quán)限 [root@localhost mysql]#chown mysql /var/log/mariadb/mariadb.log

如果這一步,不確定應(yīng)該創(chuàng)建哪些文件,那么就可以先執(zhí)行第七步操作,然后根據(jù)第七步的錯誤提示,來創(chuàng)建我們所需要的文件。

七 準(zhǔn)備服務(wù)腳本,并啟動服務(wù)

將mysql的服務(wù)腳本復(fù)制到服務(wù)目錄下。因?yàn)镃entOS7 與低版本的服務(wù)兼容,所以我們就直接將腳本復(fù)制到/etc/init.d/目錄下就好。

#復(fù)制mysql的腳本到服務(wù)目錄下 [root@localhost mysql]#cp support-files/mysql.server  /etc/rc.d/init.d/mysqld # 將mysql的服務(wù)添加到開機(jī)啟動中 [root@localhost mysql]#chkconfig --add mysqld [root@localhost mysql]#chkconfig --list Note: This output shows SysV services only and does not include native       systemd services. SysV configuration data might be overridden by native       systemd configuration.       If you want to list systemd services use 'systemctl list-unit-files'.       To see services enabled on particular target use             'systemctl list-dependencies [target]'. mysqld          0:off 1:off 2:on 3:on 4:on 5:on 6:off netconsole      0:off 1:off 2:off 3:off 4:off 5:off 6:off network         0:off 1:off 2:on 3:on 4:on 5:on 6:off # 啟動MySQL 服務(wù) [root@localhost mysql]#service mysqld start Starting mysqld (via systemctl):                           [  OK  ]
  • 如果我們在第六步?jīng)]有指定日志文件或者指定了日志文件,但是忘記修改權(quán)限的話,這一步都會出錯的,不過出錯了也不要著急,根據(jù)提示信息一點(diǎn)一點(diǎn)來修改就可以了。

  • 我們在這一步中將mysql的服務(wù)腳本復(fù)制到了/etc/rc.d/init.d/路徑下,這是因?yàn)镃entOS 7兼容了CentOS 6 的服務(wù)模式。當(dāng)然也可以按照CentOS 7的服務(wù)管理方式來進(jìn)行,配置文件位于/usr/lib/systemd/system 路徑下。

八 配置客戶端環(huán)境變量

完成了前面的幾步操作,我們就已經(jīng)完成了大部分的工作,此時服務(wù)已經(jīng)啟動,我們可以使用ss 工具來查看3306端口是否已經(jīng)開啟。  但是此時,我們使用mysql 命令通過客戶端去訪問mysql數(shù)據(jù)庫的話,會提示找不到mysql 命令,所以我們要指定一下,mysql 命令的環(huán)境變量。  前面我們說過,mysql解壓之后一些二進(jìn)制的可執(zhí)行文件位于 解壓后目錄的/bin文件夾下,所以我們將這個路徑添加到環(huán)境變量中。

# 單獨(dú)指定一個路徑來修改環(huán)境變量,這樣便于管理。 [root@localhost mysql]#cat /etc/profile.d/mysql.sh export PATH=/usr/local/mysql/bin:$PATH # 執(zhí)行一下這個腳本,使環(huán)境變量生效 [root@localhost mysql]#. /etc/profile.d/mysql.sh

八 安全初始化

完成了第七步之后,我們已經(jīng)能夠順利的訪問到數(shù)據(jù)了,甚至匿名訪問也是的??墒谴藭r的數(shù)據(jù)庫還是不足夠安全的,并不能投入到實(shí)際的生產(chǎn)中使用,所以我們需要對數(shù)據(jù)庫進(jìn)行安全初始化。
我們根據(jù)安裝文件中提供的安全初始化腳本,來進(jìn)行數(shù)據(jù)庫的安全初始化,詳細(xì)查看下面的這張動圖。

CentOS7安裝通用二進(jìn)制格式MariaDB 10.2.8

下面對圖中修改過的幾項(xiàng)進(jìn)行一個詳細(xì)的解釋

# 是否重新設(shè)置root用戶的密碼 Set root password? [Y/n] y # 是否刪除匿名用戶 Remove anonymous users? [Y/n] y # 是否不允許root用戶遠(yuǎn)程登陸 Disallow root login remotely? [Y/n] n # 是否刪除測試數(shù)據(jù)庫 Remove test database and access to it? [Y/n] y # 重新加載可用的數(shù)據(jù)庫表 Reload privilege tables now? [Y/n] y

以上,我們就詳細(xì)的介紹了在CentOS 7 中安裝MariaDB 10.2.8 版本的全部過程。并且我們只是進(jìn)行了簡單的配置,在實(shí)際生產(chǎn)中,會經(jīng)常使用到MariaDB,所以將整個安裝過程寫成一個腳本,或許也是一個不錯的選擇。若有問題,歡迎留言。

個人博客地址:http://www.pojun.tech/ 歡迎訪問

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

分享名稱:CentOS7安裝通用二進(jìn)制格式MariaDB10.2.8-創(chuàng)新互聯(lián)
網(wǎng)頁鏈接:http://bm7419.com/article10/ddpogo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、用戶體驗(yàn)、搜索引擎優(yōu)化、App設(shè)計、網(wǎng)站排名、電子商務(wù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站