當前位置:首頁 » 操作系統 » 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-01-20 05:41:52 瀏覽:981
中國植物資料庫 發布:2025-01-20 05:38:50 瀏覽:334
C語言能嗎 發布:2025-01-20 05:37:25 瀏覽:558
onedrive存儲位置 發布:2025-01-20 05:35:16 瀏覽:826
導航廣播怎麼存儲電台 發布:2025-01-20 05:35:14 瀏覽:310
歌的壓縮包 發布:2025-01-20 05:23:53 瀏覽:391
如何通過伺服器ip查到電話 發布:2025-01-20 05:02:34 瀏覽:8
我的世界伺服器被房主打 發布:2025-01-20 05:02:27 瀏覽:284
如何找到相同的配置 發布:2025-01-20 04:53:59 瀏覽:218
看linux版本 發布:2025-01-20 04:40:37 瀏覽:20