MySQL數據庫備份與還原腳本說明_第1頁
MySQL數據庫備份與還原腳本說明_第2頁
MySQL數據庫備份與還原腳本說明_第3頁
MySQL數據庫備份與還原腳本說明_第4頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、1.完整備份 1.1 備份方法MySQL數據庫備份腳本說明*網絡科技(上海)有限公司采用免費工具MySQLhotcopy,直接拷貝數據庫文件(*.FRM,*.MYD,*.MYI)。在進行拷貝文件時,會鎖定需要進行備份的數據庫,加上讀鎖。然后執(zhí)行flush tables把緩存在內存里的修改寫入硬盤上的數據庫文件, 最后把備份的數據庫文件復制下來。此過程,可能會造成玩家數據丟失,但是會比使用mysqldump等備 份方法速度快,鎖定表時間少,從而能最大限度地降低數據丟失的情況。1.2 腳本說明完整腳本備份文件名稱:fullybackup.sh ,存放目錄: /back需要先創(chuàng)建一個目錄back用來

2、存放備份文件,也可以進行修改為其他目錄,則需要對腳本中的backdir 值修改;所屬組:root;擁有者:root 。 腳本參數:backdir -備份文件存放的路徑(第一次運行該腳本時會自動創(chuàng)建) server -為數據庫服務器名稱; dbname-為數據庫名稱;password -為admin帳號登陸數據庫的密碼;mysqlbak.log -備份腳本自己的日志,記錄腳本運行與結束時間信息;admin-為數據庫服務器帳號,若需要使用其他帳號的請修改:/usr/local/mysql/bin/mysqlhotcopy $dbname -flushlog -u admin -p $rootpas

3、s $backdir | logger -t mysqlhotcopy 把 u admin中的admin改為具有讀取數據庫文件的數據庫服務器帳號,即可!1.3 備份文件存放結構以備份服務器ccxydata_test 中的數據庫eugene為例: /back/mysql/ccxydata_test-07-07-01.tgz,而目錄eugene之下才是備份過來的文件:*.frm、*.MYD、*.MYI,以及db.opt。若備份文件一直存放在數據庫服務器的話,腳本會自動檢測存放的備份文件,根據設置的刪除時間,刪1.4 其他說明除存放的備份文件。目前是設置刪除30天之前的備份文件,也可以執(zhí)行修改,只需

4、要修改: for d in find . -type d -mtime +30 -maxdepth 1 把 30 改為您所要設置的數字即可。沒有提供數據庫備份文件壓縮傳送功能,可以使用ftp命令把備份文件定期傳送到指定的服務器上,建議Linux安裝完后,系統需要再安裝Perl-DBD-mysql組件(Linux安裝時,會自動安裝Perl5.8組件,但是這Linux自帶的perl-DBD-mysql,需要安裝mysql3.23客戶端才能繼續(xù)安裝該組建,而由加密等問題,我們 傳送腳本另外寫,并且在玩家很少的時候,進行文件傳送操作。個組 件不會自動安裝),用于支持Mysqlhotcopy工具。#pe

5、rl Makefile.PL mysql_config=/usr/local/mysql/bin/mysql_config #make ; make install2013-9-10 MySQL數據庫備份腳本說明Page 1 of 32.日志備份 2.1 備份方法采用MySQL自帶的管理工具mysqladmin和文件拷貝命令,進行日志文件備份。只是在刷新日志的時候,完整腳本備份文件名稱:incrementbackup.sh ,存放目錄: /back需要先創(chuàng)建一個目錄back用來存放備份文件(注:若在完整備份時已創(chuàng)建該目錄,則不需要再重復創(chuàng)建),會短 暫地鎖定數據庫表,發(fā)生數據丟失的幾率很小。2

6、.2 腳本說明也可以進行修改為其他目錄,則需要對腳本中的backdir 值修改;所屬組:root;擁有者:root 。 腳本參數:server -為數據庫服務器名稱;測試目錄為: /usr/local/mysql/var;logfile -為數據庫服務器存放日志的文件路徑,安裝目錄不同則需要修改 password -為admin帳號登陸數據庫的密碼; backdir -日志備份文件存放路徑admin-為數據庫服務器帳號,若需要使用其他帳號的請修改:/usr/local/mysql/bin/mysqladmin -u admin -p$rootpass flush-logs把 u admin中的

7、admin改為具有讀取數據庫文件的數據庫服務器帳號,即可!另外:測試的日志文件格式為:mysql-bin.00001 若不一樣則需要修改兩行腳本(替換掉mysql-bin 1> total1=ls $logfile/mysql-bin.*|wc -l2> for f in ls $logfile/mysql-bin.*|head -n $total即可):2.3 備份文件存放結構以ccxydata_test服務器中數據庫eugene為例: /back/mysql /ccxydata_test-07-07-19-13-1.tgz注: ccxydata_test-7-07-19-為服務

8、器名稱加備份的日期組成,每天會創(chuàng)建一個這樣的目錄; 13-為每次備份日志時,當前整點。1-拷貝過來的日志文件編號,每次備份都是從1開始遞增,有兩個日志文3.1 還原方法創(chuàng)建一個與需要還原的數據庫名稱一樣的數據庫,然后把完整備份的*.FRM、*.MYD、*.MYI,以及db.opt,再在此基礎上,利用mysqlbinlog工具把二進制格式的日志生成可執(zhí)行的*.sql文件,并且刪除掉不必要的關閉與啟動MySQL服務的語句為: /etc/init.d/mysql stop,請確認在安裝MySQL后,把mysql.server文 復制到新數據庫名稱目錄下,然后重新啟動MySQL服務。 語句,然后使用客

9、戶端工具執(zhí)行,則還原到所要求的時間點。 件拷貝到 /etc/init.d目錄下,語句如下:件,則:/back/mysql /ccxydata_test-07-07-19-13-1.tgz、/back/mysql /ccxydata_test-07-07-19-13-2.tgz; 3 還原2013-9-10 MySQL數據庫備份腳本說明 Page 2 of 33.3 參數說明fulldir -完整備份文件存放的目錄(例如:/back/mysql); incrementdir -日志備份文件存放的目錄(例如:/back/increment); bindir -MySQL自帶工具程序目錄(例如:/u

10、sr/local/mysql/bin); vardir -MySQL數據文件存放的目錄(例如:/usr/local/mysql/var); backuptime -完整備份的時間(即每天發(fā)生完整備份的整點部分時間:小時,格式:hh); password -MySQL 的root帳號對應的密碼; para -還原的日期(格式要求:yy-mm-dd); time -時間點(小時,格式:hh);dbname -需要還原的數據庫名;4 調度腳本自動運行代碼4.1 完整備份調度執(zhí)行的代碼(每天的05點30分與17:00進行完整備份) 30 05 * * * cd /back;./fullybackup.sh>>/back/mysql/mysqlbak.log &4.2日志備份調度執(zhí)行的代碼(每天的每個整點進行日志備份)00 0-23/1 * * * cd /back;./incrementbackup.sh 00 17 * * * cd /back;./fullybac

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論