當前位置:首頁 » 操作系統 » mysql資料庫備份shell

mysql資料庫備份shell

發布時間: 2022-07-23 07:09:23

❶ 請問mysql怎麼自動備份資料庫

資料庫的自動備份,可以減輕維護者的工作量也便於系統恢復,對於比較重要的資料庫,最好還是設置下自動備份。

工具/原料



navicat for mysql

mysql 5.5

方法/步驟

  1. 打開navicat客戶端,連上mysql後,雙擊左邊你想要備份的資料庫。點擊「計劃」,再點擊「新建批處理作業」。


❷ Linux 怎麼shell腳本定時備份mysql資料庫

每天定時備份mysql資料庫任務,刪除指定天數前的數據,保留指定天的數據;
需求:
1,每天4點備份mysql數據;
2,為節省空間,刪除超過3個月的所有備份數據;
3,刪除超過7天的備份數據,保留3個月里的
10號
20號
30號的備份數據;
#創建shell文件
vim
backup_mysql.sh
mysqlmp
-uroot
-p123456
--all-databases
>
/data/dbdata/mysqlbak/`date
+%Y%m%d`.sql
find
/data/dbdata/mysqlbak/
-mtime
+7
-name
'*[1-9].sql'
-exec
rm
-rf
{}
\;
find
/data/dbdata/mysqlbak/
-mtime
+92
-name
'*.sql'
-exec
rm
-rf
{}
\;
#創建定時任務
crontab
–e
0
4
*
*
*
/data/dbdata/backup_mysql.sh

❸ vc中使用ShellExecute進行mysql資料庫備份,一直不成功,有會的嗎

你現在在本地命令行 測試一下 mysqlmp 命令 是否成功 和 生成備份文件.
如果成功了, 那麼說明你 ShellExecute 函數使用方法有問題.
或者也可嘗試更換其他函數 例如 WinExec 等等.

❹ shell怎麼對mysql資料庫進行自動備份

1、計劃任務,每天1點備份
0 1 * * * /data/backup/backup-mysql.sh;
2、backup-mysql.sh內容,將每天備份的內容打包
#!/bin/sh
ymd=`date +%Y%m%d`
cd /data/backup
mysqlmp -uuser001 -p12345678 db001 > db001.sql
tar zcf db001-${ymd}.sql.gz db001.sql
3、restore.sh恢復數據
mysql -uuser001 -p12345678 -Ddb001 < db001.sql

❺ mysql 資料庫如何備份,如圖,

資料庫備份,可以全量備份,也可以備份一部分

備份的方法也有很多種

如果是使用語句進行備份,那麼只能導出數據的內容,不包括表的結構
需要先鎖表,避免備份過程中表被更新
鎖表語句:mysql>LOCK TABLES READ tbl_name;
然後導出數據:mysql>SELECT * INTO OUTFILE_tbl_name.bak『 FROM tbl_name;
最後將表解鎖:mysql>UNLOCK TABLES;

如果是使用工具 mysqlmp 進行備份,就不僅可以導出數據,還可以備份表結構
假如要備份資料庫 db_name:shell> mydqlmp db_name
假如要把資料庫備份到 bd_name.bak 中:shell> mydqlmp db_name>db_name.bak

還可以用直接拷貝的方法進行備份,也就是直接復制文件來備份數據

❻ Linux 怎麼通過Shell腳本定時備份MySQL資料庫

PATH=$PATH:$HOME/bin #備份目錄 BackupPath="/home/mysql/backup" #備份文件名 BackupFile="dbbackup"$(date +%y%m%d_%H)".sql" #資料庫的用戶名及密碼 user="root" passwd="Welcome@123" #檢查備份目錄是否存在 if !(test -d $BackupPath) then mkdir $BackupPath fi #使用mysql提供的mysqlmp備份腳本 /usr/local/mysql/bin/mysqlmp -u$user -p$passwd --allow-keywords --default-character-set=utf8 --set-charset -R -A --master-data=2 >"$BackupPath"/"$BackupFile" #刪除三個月前的備份文件 find "$BackupPath" -name "dbbackup*[log,sql]" -type f -mtime +3 -exec rm -rf {} \;

❼ 使用shell腳本備份資料庫。

在Linux上安裝MySQL並建立測試庫,編寫shell腳本對此庫使用mysqlmp進行定時備份和歷史備份文件清理(保留3天),注意腳本的通用性和擴展性
1 mysq資料庫的安裝

[sql] view plain
#安裝服務端
yum install mysql-server
yum install mysql-devel
#安裝客戶端
yum install mysql
#啟動mysql
service mysqld start 或 /etc/init.d/mysqld start
#停止mysql
service mysqld stop
#設置密碼
mysqladmin -u root password ***
#登錄mysql
mysql -u root -p

2 創建測試資料庫和表
[sql] view plain
<pre class="sql" name="code">#創建資料庫
create database users;
#創建表
create tablse student(
id integer auto_increment not null primary key,
name varchar(30) );
[sql] view plain
#插入一條數據
insert into student(name) values("congju");
[sql] view plain
#查看數據
select * from student;

3 mysqlmp用法

mysql自帶的工具,允許你以SQL命令集的形式將整個資料庫導出到一個單獨的文件中。

[sql] view plain
#將users資料庫備份到/root/user.mp文件中
mysqlmp -u root -p users > /root/users.mp

4 利用shell腳本實現對users資料庫的備份

[sql] view plain
#!/bin/bash

#保存備份個數
number=3
#備份保存路徑
backup_dir=/root/mysqlbackup
#日期
dd=`date +%Y%m%d`
#備份工具
tool=mysqlmp
#用戶名

❽ 怎樣進行每日MYSQL資料庫備份

可以將這個腳本放進crontab,每天凌晨執行一次,自動備份

這個腳本每天最多隻執行一次,而且只保留最近五天的備份在伺服器上。

#!/bin/bash

#This is a ShellScript For Auto DB Backup

#Powered by aspbiz

#Setting

#設置資料庫名,資料庫登錄名,密碼,備份路徑,日誌路徑,數據文件位置,以及備份方式

#默認情況下備份方式是tar,還可以是mysqlmp,mysqldot

#默認情況下,用root(空)登錄mysql資料庫,備份至/root/dbxxxxx.tgz

DBName=mysql

DBUser=root

DBPasswd=

BackupPath=/root/

LogFile=/root/db.log

DBPath=/var/lib/mysql/

#BackupMethod=mysqlmp

#BackupMethod=mysqlhot

#BackupMethod=tar

#Setting End

NewFile="$BackupPath"db$(date +%y%m%d).tgz

DumpFile="$BackupPath"db$(date +%y%m%d)

OldFile="$BackupPath"db$(date +%y%m%d --date='5 days ago').tgz

echo "-------------------------------------------" >> $LogFile

echo $(date +"%y-%m-%d %H:%M:%S") >> $LogFile

echo "--------------------------" >> $LogFile

#Delete Old File

if [ -f $OldFile ]

then

rm -f $OldFile >>$LogFile 2>&1

echo "[$OldFile]Delete Old File Success!" >> $LogFile

else

echo "[$OldFile]No Old Backup File!" >> $LogFile

fi

if [ -f $NewFile ]

then

echo "[$NewFile]The Backup File is exists,Can't Backup!" >>$LogFile

else

case $BackupMethod in

mysqlmp)

if [ -z $DBPasswd ]

then

mysqlmp -u $DBUser --opt $DBName >$DumpFile

else

mysqlmp -u $DBUser -p$DBPasswd --opt $DBName >$DumpFile

fi

tar czvf $NewFile $DumpFile >>$LogFile 2>&1

echo "[$NewFile]Backup Success!" >> $LogFile

rm -rf $DumpFile

;;

mysqlhot)

rm -rf $DumpFile

mkdir $DumpFile

if [ -z $DBPasswd ]

then

mysqlhot -u $DBUser $DBName $DumpFile >>$LogFile 2>&1

else

mysqlhot -u $DBUser -p $DBPasswd $DBName $DumpFile >>$LogFile 2>&1

fi

tar czvf $NewFile $DumpFile >>$LogFile 2>&1

echo "[$NewFile]Backup Success!" >>$LogFile

rm -rf $DumpFile

;;

*)

/etc/init.d/mysqld stop >;/dev/null 2>&1

tar czvf $NewFile $DBPath$DBName >> $LogFile 2>&1

/etc/init.d/mysqld start >;/dev/null 2>&1

echo "[$NewFile]Backup Success!" >>$LogFile

;;

esac

fi

echo "-------------------------------------------" >>$LogFile

❾ 如何使用shell腳本每天自動備份mysql資料庫

mysql備份用自帶的備份工具mysqlmp
每天自動執行用cron工具,把mysql的備份命令放在.sh文件裡面
.sh文件放在/etc/cron.daily目錄,就會每天自動執行了。

❿ 編寫一個shell腳本每天16:30備份mysql數據並壓縮打包(打包文件按照當天日期命名)放到/root/data下

#!/bin/bash

date=$(date-d'+0days''+%Y-%m-%d')#聲明一個變數,並賦值當天日期
cd/root/data#進入目錄
mkdir$date#創建目錄

mysqlmp-uusername-ppassworddb_name>$date"db_name.sql"#資料庫備份,修改用戶名密碼,還有要備份資料庫

tar-zcf$date".tar.gz"$date#壓縮打包
rm-rf$date#刪除源數據

保存為bak.sh,每天16:30備份定時任務,沒有crontab命令:yum install vixie-cron

chmod +x /.../bak.sh

crontab -e

30 16 * * * /.../bak.sh

熱點內容
咖啡源碼 發布:2025-03-14 13:51:32 瀏覽:166
android漂亮的listview 發布:2025-03-14 13:40:26 瀏覽:390
android路線規劃 發布:2025-03-14 13:23:22 瀏覽:302
poi瀏覽器島風go緩存 發布:2025-03-14 13:10:24 瀏覽:187
具體可要說存儲在鋼瓶中是因為 發布:2025-03-14 13:00:36 瀏覽:440
汽車空調壓縮機不轉了 發布:2025-03-14 12:55:45 瀏覽:30
安卓和平營地cp怎麼組 發布:2025-03-14 12:55:40 瀏覽:604
時序模式演算法 發布:2025-03-14 12:50:45 瀏覽:203
爐石傳說標准模式多腳本 發布:2025-03-14 12:47:53 瀏覽:210
密碼鎖用密碼打不開是什麼原因 發布:2025-03-14 12:31:25 瀏覽:196