1. 程式人生 > >資料庫定時備份原理,實現MySQL資料庫的實時備份

資料庫定時備份原理,實現MySQL資料庫的實時備份

www.syncnavigator.cn

SyncNavigator 做資料同步時所支援的資料庫型別:

支援sqlserver 2000-2014所有版本,全相容,和MYsql 4.x 、MYsql 5.x 、MYsql 6.x版本。

來源資料庫和目標資料庫可以版本不同,比如:來源資料庫是sqlserver 2012  目標資料庫是mysql 5.5 ,都是可以的, SyncNavigator 支援跨資料庫版本,無縫傳輸資料。

只需要能連線上資料庫, SyncNavigator 可以安裝在第三方電腦上,來源資料庫和目標資料庫電腦上可以不用安裝程式。

設定好資料庫連線地址,點選測試連線,能臉上來源資料庫和目標資料庫, SyncNavigator 就能進行高效資料傳輸服務

這篇部落格我將繼續公開資料庫自動備份的程式碼。可以這麼說,沒有資料庫,一切就是個蛋,沒有資料庫備份,一切還是個蛋,你可以想象資料庫備份多麼重要。不會linux,不會寫shell的朋友麻煩先去補補。不過你說我牛逼,不補也能看懂,那沒問題,哈哈,廢話不說了。老規矩,上程式碼:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

#!/bin/bash

time=$(date +"%d-%m-%Y")

pre=/home/ubuntu #想放到那裡麻煩自己配置下哈

if [ ! -d "$pre/data_backup/$time" ]

then

  mkdir -p $pre/data_backup/$time

  echo "create $pre/data_backup/$time"

else

  echo "exist $pre/data_backup/$time"

fi

if [ -d "$pre/data_backup/$time"

 ]

then

 mysqldump -h10.66.102.75 -uroot -p123456 --opt winrun user > $pre/data_backup/$time/user.sql

 mysqldump -h10.66.102.75 -uroot -p123456--opt winrun CategoryInfo  > $pre/data_backup/$time/CategoryInfo.sql

 mysqldump -h10.66.102.75 -uroot -p123456 --opt winrun admin_info > $pre/data_backup/$time/admin_info.sql

 mysqldump -h10.66.102.75 -uroot -p123456 --opt winrun admin_loginfo > $pre/data_backup/$time/admin_loginfo.sql

 mysqldump -h10.66.102.75 -uroot -p123456 --opt winrun admin_notice_info  > $pre/data_backup/$time/admin_notice_info.sql

 mysqldump -h10.66.102.75 -uroot -p123456--opt winrun advertising_info  > $pre/data_backup/$time/advertising_info.sql

 mysqldump -h10.66.102.75 -uroot -p123456--opt winrun ajax_request_info  > $pre/data_backup/$time/ajax_request_info.sql

 mysqldump -h10.66.102.75 -uroot -p123456 --opt winrun bt_file_info  > $pre/data_backup/$time/bt_file_info.sql

 echo "backup finished"

 cd $pre/data_backup #enter dir

 zip -r $time.zip $time/

 rm -fr $time #delete

 cd -

 echo "zip backup database finished"

else

 echo "can not find backup file"

fi

 注意,我的密碼我已經改了,這個不能告訴你們,所以喜歡copy的孩子麻煩自己該密碼。下面我教大家玩下crotab,程式碼如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

# Edit this file to introduce tasks to be run by cron.

#

# Each task to run has to be defined through a single line

# indicating with different fields when the task will be run

# and what command to run for the task

#

# To define the time you can provide concrete values for

# minute (m), hour (h), day of month (dom), month (mon),

# and day of week (dow) or use '*' in these fields (for 'any').#

# Notice that tasks will be started based on the cron's system

# daemon's notion of time and timezones.

#

# Output of the crontab jobs (including errors) is sent through

# email to the user the crontab file belongs to (unless redirected).

#

# For example, you can run a backup of all your user accounts

# at 5 a.m every week with:

# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/

#

# For more information see the manual pages of crontab(5) and cron(8)

#

# m h  dom mon dow   command

10 1 * * 1,3,5  /home/backup.sh >> /home/backup.log

有用的是最下面的這一句,看到沒有,備份完了還得有個log,不然誰知道備份成什麼樣子了,一點都不懂crontab麻煩自己百度下,我也一時給你講不明白。

wKiom1dAfLaR-38zAAAWLq160FQ714.png

上面是備份的結果,注意,備份完了之後是壓縮包的形式,所以請你先安裝壓縮工具,apt-get install XXXX 不會的還是麻煩百度下,實在簡單成狗了。

技術在於分享,開源,去轉盤不吝嗇任何技術,歡迎關注微博或者微信,隨時交流。