1. 程式人生 > 資料庫 >Linux下mysql異地自動備份的方法

Linux下mysql異地自動備份的方法

前言:

基本上不管是對於我們自己使用,還是給客戶部署伺服器,,mysql備份都是必不可少的一部分,這裡給大家分享一下我是如何實現linux上做異地自動備份的。

  • mysql_backup.sh 用於備份資料
  • mysql_restore.sh 用於恢復資料
  • remove_backup.sh 用於刪除一段時間以前的備份檔案

一、資料備份準備

1.1建立備份目錄

注:這裡我是吧備份檔案放在/data/backup/mysql下面,把指令碼放在 /data/backup 下面

些建立一個資料夾(如果建立過請忽略)

mkdir -p /data/backup/mysql
cd /data/backup

1.2建立指令碼檔案

建立mysql_backup.sh指令碼

vi mysql_backup.sh

貼上下面的指令碼內容

#!/bin/bash
# 需要的話,自己改這裡哦
#db_user='root'
#db_password=`cat /data/www/mysql_password`
db_name='wuqilong'
backup_dir='/data/backup/mysql/'
current_time=$(date +'%Y-%m-%d_%H%M%S')
filepath=$backup_dir$current_time'.sql.gz'
#此處沒有使用 $db_password $db_user,已經寫入到配置檔案中
echo '開始匯出資料庫...'
mysqldump --defaults-extra-file=/data/backup/my_mysql.cnf $db_name | gzip > $filepath
echo '匯出成功,檔名為: '$filepath

新建配置檔案,就在我們的當前目錄下 即 /data/backup

vi my_mysql.cnf

下面的是檔案內容,這裡可以設定一下允許匯出的檔案大小上限

這裡的host填寫你需要從那臺伺服器下進行備份

[mysqldump]
max_allowed_packet = 400M
host=ip地址(192.168.1.**)
user=root
password='root'
[mysql]
host=ip地址(192.168.1.**)
user=root
password='root'

這樣匯出shell指令碼就已經寫好了哈,接下來給它加一下許可權。

chmod +x ./mysql_backup.sh

現在可以使用下面的命令來匯出了

sh ./mysql_backup.sh
# 檢視一下結果
ll ./mysql

Linux下mysql異地自動備份的方法

總結

到此這篇關於Linux下mysql異地自動備份的文章就介紹到這了,更多相關Linux下mysql異地自動備份內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!