mariaDB
強大的資料庫熱備份軟體 xtrabackup
最近我們公司網站碰到一個嚴重問題
就是原先使用的galera 的同步系統時有一個嚴重缺陷,就是 在 DB 故障再重新同步後,會造成另一台DB 也鎖死,雖然仍可以讀取但沒鳥用啊…..
當然這個問題 可以透過 架設三台來解決,但是 這成本太高…..
之後我們就找到一個很強的備份系統 xtrabackup
他 是直接在DB的檔案層做備份,針對innoDB 備份 可以做到快速熱備份
可以多線同時備份,可以快速壓縮,可以快速還原
經過測試在50G的資料量 備份可以在兩分鐘內完成,還原也只需要五分鐘(mysqldump大概要10~20倍的時間)
他可以全部備份、局部備份、增量備份,不過並不建議增量備份,他還原很麻煩…
不過他還是有缺點的
1.innodb的 ibdata檔案過大時,會備份很久,我在測試時只要兩分鐘,實際上機 要20分鐘….
2.有MYSYIAM 時會有鎖表的備份,所以使用前請小心
3.當備份時碰到鎖表時會備份 拜請小心
4.局部備份跟還原 不是很方便,也不建議使用(有要使用此功能的 請使用2.2版)
官方網站:https://www.percona.com/doc/percona-xtrabackup/2.4/index.html
mariaDB+galera 的ㄧ些優缺點
我們公司網站www.funtime.com.tw 已經使用mariaDB+galera 的DB cluseter 系統已經一段時間了
我們是使用兩台DB 的同步運作模式
這套同步系統的最大好處是她的同步運作效率很高,相同的資料量用檔案匯入要4小時’ 但SST 同不只需2小時
先來介紹一下galera的運作原理
galera 是在收到query時先作分析,如果是單純select 就會直接回應給對方,如果是insert這類會更改DB的指令,就會同不丟給每個cluster上的DB
另外galera有一個快取機制,儲存最新更新的資料,如果當某個DB故障重啟時,她會使用其他DB的ˊ快取來回復,這稱作IST 她速度很快
另外還有一個機制叫做SST,這是當 DB掛點帶久超出快取容許範圍,就會作整個DB的重新同步,這時間就會比IST久很多
SST有一個恐怖缺限,就是在同步時,會把另一台DB鎖死,當然為了同步這樣做合理,但碰到我們公司這樣只有兩台DB的情況下就麻煩了
ㄧ台掛了兩台都不能用………
當然官方建議的方案是 開三台………..
好吧 這套系統的缺陷就在這了,對於需求不上不下的網站來說這有點浪費
MYSQL 轉mariaDB+galera的兩三事
前幾個月我們公司的網站的資料庫系統從MYSQL 5.1.3轉移到mairaDB ,其中最大的目的就是使用galera 同步技術,這當中碰到一些狀況…..
這一篇 主要就是說明一些我所知道的事,至於怎麼安裝的,請自己google吧…..
一開始我要說的是”MYSQL 轉 mariaDB 不保證完全相容….”,沒錯就是不完全相容,架設你的網站用的SQL 有點複雜,強烈建議先去測試一下,個人猜測是這樣的,mariaDB 只保證 從他所說的MYSQL版本移植過去是相容的,其他版本號不保證,另外因為mariaDB有些加速的手法會導致部分語法失靈,個人目前碰到兩種狀況 Continue reading
MariaDB安裝教學
參考資料
1.http://tw.myblog.yahoo.com/jw!kg_rIFWTHgO4kRtDoy15QxVeWQ–/article?mid=32&next=30&l=f&fid=6
2.https://downloads.mariadb.org
3.http://www.oschina.net/translate/mariadb-vs-mysql-a-comparison
今天無意間在網路上 看到一篇文章說MariaDB 運作效率筆MYSQL 好,所以我就找了一下資料,詳細的比較說明可以看參考資料第三個連結。
MYSQL 有什麼缺點? 阿….目前最大的風險應該再於 MYSQL 目前被甲骨文收購,甲骨文本來就有在做資料庫方面的業務,MYSQL 什麼時候從開原變成閉原開始收費沒人知道,anyway 我就嘗試安裝了一下,反正沒差,當然我的網站流量也沒高到哪去,單純換好玩的
經過測試……基本上….完全相容於MYSQL,不需要做另外設定,指令完全相同,我看過他的安裝過程…..他根本就是置換了MYSQL 的運作核心,如果你不仔細看板號,你會以為是MYSQL 在運作
安裝過程 (UBUNTU版本,期他的請參考官網)
1.進入下列連結,選擇你的 作業系統、版號、mariabDB的版本
https://downloads.mariadb.org/mariadb/repositories/#mirror=uestc
目前有 5.5版和 10.0版,看介紹5.5版相容於MYSQL5.5版本 10.0版本 是基於5.5版加以改進相容MYSQL5.6版
如果不知道 詳細版本的
可以用 #cat /etc/issue 來查
2.把mariaDB放到apt-get 中,請詳確認版號,因為每個版本都不太一樣,我不小心把12.04和13.04搞混 就把apt-get炸了….
如果弄錯了請#sudo vim /etc/apt/source.list 最底下把內之前曾加的 deb…..刪除
#sudo apt-get install python-software-properties
#sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db
#sudo add-apt-repository 'deb http://ftp.yz.yamagata-u.ac.jp/pub/dbms/mariadb/repo/5.5/ubuntu precise main'
3.apt-get 更新和安裝…
sudo apt-get update sudo apt-get install mariadb-server
4.設定root密碼,和MYSQL 介面差不多,然後就enter 一路下去 搞定
5. apache 重新啟動
#/etc/ini.d/apache2 restart
經過測試 wordpress 繼續正常運轉 phpMyadmin 也運作正常