MariaDB 是MySql的一個分支。 了解一下資料庫的發展曆史,我們知道,MySql資料庫不但二次易主,而且還被打入了冷宮(先被sun收購,然後sun被Oracle收購)。因為Oracle有自己的資料庫,同時隻有Oracle自己的員工可以進行MySql的研發,是以MySQL之父Widenius先生離開了Sun之後,覺得依靠Sun/Oracle來發展MySQL,實在很不靠譜,于是決定另開分支,這個分支的名字叫做MariaDB。 MariaDB不僅僅是Mysql的一個替代品,它的主要目的是創新和提高Mysql的技術。 MariaDB是基于MySql原來技術的基礎上,進行的新的開發發展,同時相容絕大多數MySql原有技術,對于開發者來說,幾乎感受不到任何的不同。目前MariaDB是發展最快的MySQL分支版本,新版本釋出速度已經超過了Oracle官方的MySQL版本。 LAMP架構盛極一時,這離不開MySQL的免費與易用,但是在Oracle收購了Sun之後,很多公司開始擔憂MySQL的開源前景,而最近Oracle進一步閉源的舉措更是讓人難以安心,衆多網際網路公司紛紛開始尋求MySQL的替代方案。 MariaDB繼續保持開源的理念,源源不斷的釋出新版本,為網際網路技術提供了無限的可能,同時很多網際網路巨頭已經遷移并使用了MariaDB,是以我們接下來就開始學習MariaDB啦。
準備一個沒有安裝過MySql的幹淨的系統。
首先準備資料庫能夠所需要使用的使用者和使用者組。
指定資料目錄,資料目錄的作用就是存儲資料庫的位置。以 /app/dbdata 為例。
下面我們用一張動态圖來示範上面的兩個步驟。
對于已經編譯好的二進制格式的程式包,通常我們解壓之後就能夠直接使用資料庫。但是事實上不是這麼簡單。如果我們曾經自己編譯過程式包的話,我們就會知道,在編譯二進制程式的過程中,需要指定一些腳本的目錄,或者是二進制執行程式的路徑。對于MariaDB也是如此,因為我們下載下傳的是已經編譯好的二進制程式包,是以我們解壓的程式也要放到固定的目錄下,這個目錄就是/usr/local/mysql。
下面就是解壓二進制程式的步驟,不過我們沒有直接建立mysql 目錄,而是建立了一個軟連接配接指向了我們解壓之後的目錄。
下面我們去檢視一下 解壓後的目錄内一共都包含哪些内容。
bin: 可執行的二進制程式的存放目錄,用戶端程式mysql就位于這個目錄下。 COPYING:版權以及開源資訊 COPYING.thirdparty: 版權資訊 CREDITS:關于MariaDB軟體基金會的一些相關資訊,裡面還有國内的網際網路巨頭阿裡 data:預設的資料庫存放目錄,如果我們一開始沒有指定資料庫存放目錄的話,那就會被存儲到這個位置。 EXCEPTIONS-CLIENT:例外情況 include:MariaDB 所需要的一些程式檔案 INSTALL-BINARY: 安裝幫助文檔,可以詳細閱讀,對安裝資料庫有很大的幫助 lib: 軟體運作所需要的庫檔案 man:軟體的幫助文檔 mysql-test: 資料庫的測試元件 scipts:mysql初始化初始化時要用到的腳本檔案,通讀一下腳本,可以了解Mysql 的安裝過程 share: 共享的檔案内容 support-files: mysql 正常運作所需要的配置檔案或者文檔,這一點很重要,如果我們要自定義配置檔案的話,就需要參考這裡面的配置檔案來進行定義。
這裡有一點需要注意:data目錄是資料庫的存放路徑,我們在之前已經手動指定。在實際生産中,企業資料增長很快,資料庫檔案有可能會很大,是以最好将該目錄指定到一個單獨的磁盤上,或者大分區,或者使用邏輯卷都可以,避免因實體空間不足,導緻出現故障。
MariaDB 的配置檔案可以存放在多個路徑下面。但是配置檔案的查找次序是固定的。這樣也就導緻了,配置檔案具有了優先級,後面的配置會覆寫掉前面的配置(配置參數相同的情況下)。 我們參考MariaDB 安裝路徑下的support-files 中的配置檔案,建立一個我們自己的配置檔案并存放于/etc/mysql/my.cnf 中
然後在這個配置檔案中,加入我們剛剛的指定的一些目錄和資訊。如下圖所示。
前面我們說過,配置檔案的查找執行是有一定順序的。當MariaDB安裝成功之後,執行下面的指令,就可以檢視到配置檔案的查找順序了。
進入到 /usr/local/mysql/ 路徑下,建立資料庫檔案。在建立資料庫的同時指定資料庫存放目錄以及預設使用者。
因為CentOS 6 和CentOS 7 的日志路徑有所不同,是以建立的日志檔案的路徑也是不一樣的。CentOS6 中是<code>/var/log/mysqld.log</code>,而CentOS 7 中則是 <code>/var/log/mariadb/mariadb.log</code>
如果這一步,不确定應該建立哪些檔案,那麼就可以先執行第七步操作,然後根據第七步的錯誤提示,來建立我們所需要的檔案。
将mysql的服務腳本複制到服務目錄下。因為CentOS7 與低版本的服務相容,是以我們就直接将腳本複制到/etc/init.d/目錄下就好。
如果我們在第六步沒有指定日志檔案或者指定了日志檔案,但是忘記修改權限的話,這一步都會出錯的,不過出錯了也不要着急,根據提示資訊一點一點來修改就可以了。 我們在這一步中将mysql的服務腳本複制到了/etc/rc.d/init.d/路徑下,這是因為CentOS 7相容了CentOS 6 的服務模式。當然也可以按照CentOS 7的服務管理方式來進行,配置檔案位于<code>/usr/lib/systemd/system</code> 路徑下。
完成了前面的幾步操作,我們就已經完成了大部分的工作,此時服務已經啟動,我們可以使用ss 工具來檢視3306端口是否已經開啟。 但是此時,我們使用mysql 指令通過用戶端去通路mysql資料庫的話,會提示找不到mysql 指令,是以我們要指定一下,mysql 指令的環境變量。 前面我們說過,mysql解壓之後一些二進制的可執行檔案位于 解壓後目錄的/bin檔案夾下,是以我們将這個路徑添加到環境變量中。
完成了第七步之後,我們已經能夠順利的通路到資料了,甚至匿名通路也是的。可是此時的資料庫還是不足夠安全的,并不能投入到實際的生産中使用,是以我們需要對資料庫進行安全初始化。 我們根據安裝檔案中提供的安全初始化腳本,來進行資料庫的安全初始化,詳細檢視下面的這張動圖。
下面對圖中修改過的幾項進行一個詳細的解釋
以上,我們就詳細的介紹了在CentOS 7 中安裝MariaDB 10.2.8 版本的全部過程。并且我們隻是進行了簡單的配置,在實際生産中,會經常使用到MariaDB,是以将整個安裝過程寫成一個腳本,或許也是一個不錯的選擇。若有問題,歡迎留言。
本文轉自Eumenides_s 51CTO部落格,原文連結:http://blog.51cto.com/xiaoshuaigege/1969104,如需轉載請自行聯系原作者