mysql自動備份

來源:互聯網
上載者:User

標籤:mysql   自動化   備份   

前言:《mysql自動備份》,在安裝完mysql,需要的就是對mysql進行自動化備份,以免項目運行過程中資料丟失造成不可挽回的後果,那麼這篇文章就來手把手的教你如何進行自動化備份,注意啊,睜大眼睛了,哈哈,這可是不可多得的秘密!

經常不經意間就發現文章被扣到各式各樣的網站上面,甚是可惡!
那麼人生何處不爬蟲,爬蟲請標http://blog.csdn.net/qing_gee
見賢思齊焉,見不賢而內自省也!

庫檔案備份

庫檔案備份,我建議一周一次(當然,我的項目規模一般,然後至於怎麼一周一次,稍候我們再聊了)

#!/bin/bashdate_now=`date +%Y_%m_%d_%H%M%S`mysqldump -uroot -plixiaoli --flush-logs --master-data=2 maweiqing>/home/backup/${date_now}.sql &&zip -r /home/backup/${date_now}.zip /home/backup/${date_now}.sqlrm -f /home/backup/${date_now}.sql
  1. 擷取當前日期,作為庫檔案備份的檔案名稱
  2. mysqldump命令對資料庫maweiqing備份到20151030.sql中
  3. zip命令對檔案壓個縮。
  4. rm命令刪除sql檔案
二進位記錄備份

二進位檔案備份,我建議早晚各一次了。

#!/bin/bashdate_now=`date +%Y_%m_%_d_%H%M%S`filename=mysql-binfilesuffix_max=0filesuffix_lastbutone=0mysqlpath=/var/lib/mysql/backuppath=/home/backup/mysqlbinarylog/mysqladmin -uroot -plixiaoli flush-logs &&for fname in `ls $mysqlpath`dofilesuffix=${fname##*.}isnum=`expr match ${filesuffix} ‘[0-9][0-9]*$‘`if [ $isnum ] && [ $isnum -ne 0 ] && [ $filesuffix -gt $filesuffix_max ]   then       filesuffix_lastbutone=$filesuffix_max       filesuffix_max=$filesuffixfidone &&filefullname=${filename}.${filesuffix_lastbutone}cp $mysqlpath$filefullname $backuppath &&zip ${backuppath}${date_now}${filefullname}.zip $backuppath$filefullname &&echo "done"


1. 注意,二進位記錄備份,需要mysql開啟二進位日誌。
2. 其檔案路徑是在/var/lib/mysql/路徑下面。
3. mysqladmin 命令進行二進位記錄備份。

說到這,我覺得我要提醒你點什麼,以免你照做後出現錯誤來找我(如果你要來找我,我覺得挺樂意的)。

  • 上面兩個檔案列出的路徑,你一定要檢查是否存在,如果不存在,就mkdir一下。
  • zip命令如果在伺服器上沒有安裝的話,我稍候也會告訴你怎麼做的。
  • mysql記錄檔的事情,我的另一篇文章會說明的,請參見。
  • 至於在Linux上怎麼編輯檔案,我想你可以問問“vim”大人。
  • 還有什麼忘記說的?對了,你在看這篇文章之前最好看看mysql配置

這兩個檔案是搞好了,接下來要做什嗎?“元芳,你怎麼看?”“大人,你覺得呢?”

測試一下唄

首先,要想讓兩個檔案運行,肯定是要賦予他們靈魂的,不然,怎麼搞。

[root@iZ23gsv94suZ soft]# chmod 700 flushlog_and_copy.sh [root@iZ23gsv94suZ soft]# chmod 700 backuplixiaoli.sh 

flushlog_and_copy.sh這個是二進位檔案備份。
那麼另外一個就是備份庫檔案了。

測試一下吧!

[[email protected] soft]# sh backuptiangong.sh mysqldump: [Warning] Using a password on the command line interface can be insecure.  adding: home/backup/2015_10_30_105545.sql (deflated 77%)[[email protected] backup]# lltotal 28-rw-r--r-- 1 root root 23948 Oct 30 10:55 2015_10_30_105545.zip

看到了吧,檔案備份好了!既然有zip檔案,這說明zip命令也有了,還不錯!

測試二進位檔案

[[email protected] soft]# sh flushlog_and_copy.sh mysqladmin: [Warning] Using a password on the command line interface can be insecure.expr: syntax error  adding: home/backup/mysqlbinarylog/mysql-bin.000002 (deflated 36%)done[[email protected] soft]# cd /home/backup/mysqlbinarylog/[[email protected] mysqlbinarylog]# lltotal 8-rw-r--r-- 1 root root 343 Oct 30 10:59 2015_10_30_105901mysql-bin.000002.zip-rw-r----- 1 root root 167 Oct 30 10:59 mysql-bin.000002

不知道這樣的寫作風格是否符合你的閱讀習慣,如果你覺得還可以,那麼繼續吧!先來看看Linux的自動化服務!

到這呢,你可能需要先看看Linux:時間同步,瞭解一下Linux的自動化服務!

先看看crontab有沒有列表

[root@iZ23gsv94suZ mysqlbinarylog]# crontab -l-bash: crontab: command not found

什嗎?竟然沒有安裝crontab,不過也沒有什麼大不了的嘛,安裝下就OK!

[[email protected] mysqlbinarylog]# yum install -y vixie-cronLoaded plugins: securitySetting up Install ProcessResolving DependenciesInstalled:  cronie.x86_64 0:1.4.4-15.el6                                                                                                                                                                                                  Dependency Installed:  cronie-anacron.x86_64 0:1.4.4-15.el6                                            crontabs.noarch 0:1.10-33.el6                                            exim.x86_64 0:4.72-7.el6                                           Complete!

不過以上,我覺得沒什麼大不了的,不過我覺得很重要的是一定要啟動crontab服務,然後設定為開機啟動,這些怎麼做到?別忘了我已經告訴你了,查看Linux:時間同步.

將下面這兩個自動化任務加入到crontab中吧!

30 12,17,23 * * 1-5 sh /home/soft/flushlog_and_copy.sh40 23 * * 6 sh /home/soft/backuplixiaoli.sh

注意,檔案的路徑啊。

稍微解釋一下,全憑我一時記憶。

  1. 周一到周五12點半、17點半、23點半進行二進位檔案備份
  2. 周六23點40分進行庫檔案備份。

然後,我們crontab -l查看一下,是否已經命令加入到自動化任務中!

最後的最後,請你一定要注意觀察,備份有沒有自動化開始,如果你有麻煩的話,請麻煩我,哈哈!

結語:我要做技術路上的清道夫,為你為我為大家掃清我遇到的困惑!有沒有發現,我是很有理想的,哈哈!

著作權聲明:這是自封為qing_gee的挨踢工作者,用文字打造的一個高品質的部落格欄目。讓你擁有一段快樂的閱讀時光,不再是奢侈的夢想!

mysql自動備份

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.