中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

CentOS7安裝通用二進(jìn)制格式MariaDB10.2.8

什么是MariaDB

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

沈北新網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)建站!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)建站從2013年創(chuàng)立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)建站。

開始安裝MariaDB

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

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

  • 準(zhǔn)備一個(gè)沒有安裝過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)圖來演示上面的兩個(gè)步驟。

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)制程序包,所以我們解壓的程序也要放到固定的目錄下,這個(gè)目錄就是/usr/local/mysql。

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

# 將壓縮文件解壓到 /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就位于這個(gè)目錄下。

  • 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ù)庫存放目錄的話,那就會被存儲到這個(gè)位置。

  • EXCEPTIONS-CLIENT:例外情況

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

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

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

  • man:軟件的幫助文檔

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

  • scipts:mysql初始化初始化時(shí)要用到的腳本文件,通讀一下腳本,可以了解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ù)庫文件有可能會很大,因此最好將該目錄指定到一個(gè)單獨(dú)的磁盤上,或者大分區(qū),或者使用邏輯卷都可以,避免因物理空間不足,導(dǎo)致出現(xiàn)故障。

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

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

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

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

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

# 執(zhí)行一下這個(gè)腳本,使環(huán)境變量生效
[root@localhost mysql]#. /etc/profile.d/mysql.sh

八 安全初始化

完成了第七步之后,我們已經(jīng)能夠順利的訪問到數(shù)據(jù)了,甚至匿名訪問也是的??墒谴藭r(shí)的數(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)行一個(gè)詳細(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,所以將整個(gè)安裝過程寫成一個(gè)腳本,或許也是一個(gè)不錯(cuò)的選擇。若有問題,歡迎留言。


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

網(wǎng)頁名稱:CentOS7安裝通用二進(jìn)制格式MariaDB10.2.8
當(dāng)前地址:http://www.rwnh.cn/article12/jgpedc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站App設(shè)計(jì)、手機(jī)網(wǎng)站建設(shè)、網(wǎng)站制作、搜索引擎優(yōu)化、軟件開發(fā)

廣告

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

成都做網(wǎng)站
济源市| 石台县| 准格尔旗| 潼关县| 昭觉县| 潞西市| 柳林县| 澄城县| 乌鲁木齐市| 剑阁县| 体育| 彩票| 拜泉县| 宁城县| 永和县| 东城区| 贵定县| 昆山市| 会泽县| 武宁县| 丰城市| 闽侯县| 临城县| 北川| 太仓市| 随州市| 宕昌县| 成都市| 牡丹江市| 石屏县| 莫力| 罗江县| 安泽县| 合水县| 沙湾县| 上思县| 英吉沙县| 常德市| 水富县| 鲁甸县| 龙川县|