mysql的備份腳本
remrem C:\Program Files\WinRAR 需要放到 path 下,才能調用rar cli工具remrem 跳轉到工作目錄下f:cd f:\DBBAK
rem 設置變數:備份文件名
SET BAK_FILE=MY_DBBAK_%date:~0,-4%.sql
rem 設置變數:日誌文件名
SET LOG_FILE=MY_DBBAK.log
rem 記錄日誌
echo "%date%" 》 %LOG_FILE%
rem 開始做備份
mysqlmp --default-character-set=utf8 -hlocalhost -uroot -R --triggers --single-transaction -B mydb %BAK_FILE%
rem 壓縮備份文件
rar a %BAK_FILE%.rar %BAK_FILE%
rem 刪除源文件
del /F %BAK_FILE%
echo "%date%" 》 %LOG_FILE%
部署完腳本後,剩下的就是在系統中添加計劃任務項目了。
❷ mysql自動備份
為了避免服務掛掉,資料庫無法恢復,搞個腳本做資料庫備份。核心的東西就是一個命令:mysqlmp
首先寫一個自動備份的shell腳本:
升級版本1:壓縮文件
如果gzip未安裝需要安裝gzip
升級版本2:防止鎖表
升級版本3:備份多個庫
升級版本4:刪除過期數據
添加系統定時任務:
over!
❸ 【MySQL】Xtrabackup備份及恢復腳本
簡介:
此備份腳本的策略是每周日和周三進去全備 其餘每天增量備份。
❹ centos 6.5 mysql 自動備份資料庫腳本怎麼寫
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
export PATH
#資料庫用戶名
dbuser='root'
#資料庫用密碼
dbpasswd='********'
需要備份的資料庫,多個資料庫用空格分開
dbname='xiaohuai xiaohuai2'
#備份時間
backtime=`date +%Y%m%d%H%M%S`
#日誌備份路徑
logpath='/home/mysqlbak'
#數據備份路徑
datapath='/home/mysqlbak'
#日誌記錄頭部
echo 『"備份時間為${backtime},備份資料庫表 ${dbname} 開始" >> ${logpath}/log.log
#正式備份資料庫
for table in $dbname; do
source=`mysqlmp -u ${dbuser} -p${dbpasswd} ${table}> ${logpath}/${backtime}.sql` 2>> ${logpath}/mysqllog.log;
❺ 基於 mysql 鏡像的定時自動備份數據和清除過期備份
CentOS 7
mysql8鏡像
備份方式:mysqlmp 命令
mysql_backup.sh 腳本,本例將其放置在 /home/test/db_bk 文件夾下
執行以上腳本後,會在掛在路徑下生成 「/backup/日期」 的文件夾,文件夾內存著備份的 sql 文件,當需要恢復備份時,執行對應的 sql 文件即可。
linux 內置的 cron 進程可以用於開啟定時任務
cron進程簡介
進入 cron 編輯器:
編輯cron命令:
可以通過以下命令,查看定時任務情況:
執行以上腳本後,會在掛在路徑下生成 「/backup/日期」 的文件夾,文件夾內存著備份的 sql 文件,當需要恢復備份時,執行對應的 sql 文件即可。
可以把備份的 sql 文件導出,然後用 navicat 之類的工具執行 sql 文件即可。
1.3.2.1
*注意: 需要設置字元集,否則會亂碼,mysql -u [用戶] -p --default-character-set=utf8mb4
1.3.2.2
❻ mysql 自動備份腳本怎麼寫呀網上的一些都用了不好使呀!
用windows的定時作務,寫一個BAT文件執行備份處理。
定時執行這個BAT就可以了。
希望可以幫助你!
如果對我的回答滿意,請點擊我的回答下方選擇滿意回答按鈕,謝謝
❼ mysql怎麼操作備份
1、建立自動備份腳本
為了使資料庫備份和恢復的符合我們的實際要求(備份保留七天,每天凌晨備份一次),用一段符合要求的Shell腳本來實現整個備份過程的自動化。
[root@mysqltest ~]# vim mysql-backup.sh
#!/bin/bash
##作者:Barlow##
##最後修訂:2013-6-25##
#腳本作用:備份Mysql資料庫
#
#設定備份保留天數K
K=7
#
TODAY=`date '+%Y%m%d'`
KDAY=`date -d "$TODAY - $K day" '+%Y%m%d'`
BACKDIR=/var/mysqlbak/$TODAY
KDAYDIR=/var/mysqlbak/$KDAY
mkdir -p $BACKDIR
#
# The Password of MySQL
ROOTPASS=******* ##將*替換為實際mysql資料庫的root密碼
#
# Get the Name of Database
DBLIST=`ls -p /var/lib/mysql | grep / | tr -d /`
#
# Backup with Database
for dbname in $DBLIST
do
mysqlhot $dbname -u root -p $ROOTPASS $BACKDIR | logger -t mysqlhot
done
#
#刪除過期備份
if [ -d "$KDAYDIR" ];then
rm -rf $KDAYDIR
exit
fi
改變腳本許可權,root具有完全許可權,其他用戶沒有任何許可權:
[root@mysqltest ~]# chmod 700 mysql-backup.sh
運行一次腳本:
[root@mysqltest ~]# ./mysql-backup.sh
查看運行結果:
[root@mysqltest ~]# ll /var/mysqlbak/20130625/
mysql/ wordpress/
[root@mysqltest ~]# ll /var/mysqlbak/20130625/
總用量 8
drwxr-x---. 2 mysql mysql 4096 6月 25 14:26 mysql
drwxr-x---. 2 mysql mysql 4096 6月 25 14:26 wordpress
可以看到備份已經成功完成。
2、創建自動任務每天運行
[root@mysqltest ~]# crontab -e
00 01 * * * /root/mysql-backup.sh
##每天凌晨1點運行一次
❽ 請問mysql怎麼自動備份資料庫
資料庫的自動備份,可以減輕維護者的工作量也便於系統恢復,對於比較重要的資料庫,最好還是設置下自動備份。
工具/原料
navicat for mysql
mysql 5.5
方法/步驟
打開navicat客戶端,連上mysql後,雙擊左邊你想要備份的資料庫。點擊「計劃」,再點擊「新建批處理作業」。
❾ mysql備份如何做
常規的mysql備份使用命令是 mysqlmp命令用法如下,
mysqlmp [選項] 資料庫名 [表名] > 腳本名
或mysqlmp [選項] --資料庫名 [選項 表名] > 腳本名
或mysqlmp [選項] --all-databases [選項] > 腳本名
例如:
備份所有資料庫:
mysqlmp -uroot -p --all-databases > /backup/mysqlmp/all.db
備份指定資料庫:
mysqlmp -uroot -p test > /backup/mysqlmp/test.db
備份指定資料庫指定表(多個表以空格間隔)
mysqlmp -uroot -p mysql db event > /backup/mysqlmp/2table.db
備份指定資料庫排除某些表
mysqlmp -uroot -p test --ignore-table=test.t1 --ignore-table=test.t2 > /backup/mysqlmp/test2.db
還原命令例如:
mysqladmin -uroot -p create db_name
mysql -uroot -p db_name < /backup/mysqlmp/db_name.db
註:在導入備份資料庫前,db_name如果沒有,是需要創建的; 而且與db_name.db中資料庫名是一樣的才可以導入。
❿ linux環境下,如何實現異地備份mysql,腳本怎麼寫,已經實現本地自動備份
只要在這個備份腳本下增加一個異地傳輸功能即可。假定異地伺服器建立一個ftp伺服器。
則在本地Mysql備份腳本中將現有的文件打包,或者放置一個獨立目錄,然後上傳到Ftp伺服器即可。其他部分補齊即可。
ftp-n<<!
open$Dest_Server
user$FtpUserName$FtpPassword
binary
promptoff
cd/backpath
lcd/tmp
put"*.tar.gz"
bye
!