linux下備份mysql數據

一、業務場景

  自己現在做的項目基本上已經開發完成,正式開始上線運行,主要包含兩個子項目一個是小程式的後台,一個是後台管理系統。

正式開始運行一段時間後,基本上也沒什麼BUG了,整個項目都已經能夠正常的跑起來,程式也能夠正常運轉。這時候相對來說

 系統也比較穩定。這時候自己就在考慮如何來備份資料庫數據,做好備份工作是運維工作的必備技能之一,為的就是防止伺服器

被黑客進行惡意攻擊後,伺服器上的所有數據都無法恢復的問題。

二、需求分析

   由於自己之前做的工作主要是在內網進行開發,即使有的項目在公網可以正常訪問,生產伺服器這一塊自己也基本接觸不到。

這導致的問題就是對於真實的伺服器一些操作,自己只會一些基本的操作,比如常規的軟體安裝,開埠,部署項目等等。對於

資料庫備份這一塊自己懂得不多,對於運維這一塊了解得比較少。很多東西都需要現學現賣,使用Google和百度來解決遇到的各種問題。

自己也私下裡問過之前的同事,主要是做後端開發工作的朋友,他們有沒有好的資料庫備份腳本。他們給出的意見是他們沒有做備份

工作,對於安全這一塊也只是做一些常規的操作,比如禁止root用戶遠程登錄,使用非root用戶登錄後再切換為root用戶進行項目部署。

所以需要自己去學習如何備份資料庫數據,去學習如何寫腳本,複製、粘貼也行。

三、解決方案

 經過自己的尋找,找到一個比較實用的腳本,是一個已經寫好的腳本,修改裡面的一些參數即可。自己使用這個腳本,修改好參數後

立馬進行測試,發現竟然可行。之後就使用這個腳本來進行修改,按照項目的實際需求來不斷底改進腳本。反反覆復底修改多次後

自己已經將改好的腳本直接上傳到伺服器上,也在linux系統上設置了定時任務來執行這個腳本。主要的操作為在星期一、三、五、日

的凌晨4點執行該腳本,腳本已經添加了可執行許可權,之後使用郵件將數據發送到一個指定的郵箱。

 

設置的執行時間如下:

 

過了幾天後,自己來查看執行結果。發現程式正常運行,可是自己去查看接收到的具體郵件時,發現裡面收到的內容並不是自己想要的。

 

 linux下面的定時任務已經正常執行,郵件也已經正常發送,可是裡面並沒有自己需要的數據,說明資料庫備份失敗,不然怎麼可能只有1kb

記憶體的大小。之後自己去排查問題,找了很久終於找到問題,導致這個問題的原因是在windows上寫的腳本文件不能直接上傳到linux伺服器上

 使用,因為windows和linux的字元編碼不一樣。解決辦法之一是可以將在windows上寫好的腳本文件內容複製、粘貼一份,然後在linux系統上

使用vim命令編輯腳本文件,將內容粘貼進行即可。自己做好之後,立馬進行手動執行進行測試,發現這種方式可行。到此,在linux下自動備份

mysql資料庫,然後將備份後的文件壓縮打包發送到指定的郵件這個功能全部完成。

 

 參考

//blog.csdn.net/qq_34776233/article/details/90409000