導航:首頁 > 操作系統 > mysqllinux備份工具

mysqllinux備份工具

發布時間:2023-07-15 23:40:06

linux中mysql如何備份與恢復(mysql備份和恢復資料庫命令)

把以前寫的一個發你看看

腳本要求:編寫shell腳本,每天凌晨1點備份td_oa庫,到mysql-back目錄,並將備份文件壓縮,壓縮名稱為備份的日期,只保留連續七天的備份物斗猜文件

#!/bin/bash

mysql-uroot-p123456-e"flushtableswithreadlock;"鎖住表

/usr/local/mysql/bin/mysqlmp-uroot-p123456td_oa--flush-logs--single-transaction

mysql-uroot-p123456-e"unlocktables;"解鎖

a=`/bin/date%Y-%m-%d`#在這里加上銷源時間,壓縮的時候罩型加上時間,會失敗。

echo$a

cd/gxl

/bin/tar-czf$a.tar/fjp/td_oa.sql

b="$a.tar"

cp-p$b/root/fjp

forcin`find/root/fjp-ctime7`

do

/bin/rm-rf$c

done

❷ 怎麼linux下定時備份mysql資料庫備份

1、查看磁碟空間情況:

既然是定時備份,就要選擇一個空間充足的磁碟空間,避免出現因空間不足導致備份失敗,數據丟失的惡果!
存儲到當前磁碟這是最簡單,卻是最不推薦的;伺服器有多塊硬碟,最好是把備份存放到另一塊硬碟上;有條件就選擇更好更安全的存儲介質;
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root 50G 46G 1.6G 97% /
tmpfs 1.9G 92K 1.9G 1% /dev/shm
/dev/sda1 485M 39M 421M 9% /boot
/dev/mapper/VolGroup-lv_home 534G 3.6G 503G 1% /home123456123456

2、創建備份目錄:

上面我們使用命令看出/home下空間比較充足,所以可以考慮在/home保存備份文件;
cd /home
mkdir backup
cd backup123123

3、創建備份Shell腳本:

注意把以下命令中的DatabaseName換為實際的資料庫名稱;
當然,你也可以使用其實的命名規則!
vi bkDatabaseName.sh11

輸入/粘貼以下內容:
#!/bin/bash
mysqlmp -uusername -ppassword DatabaseName > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql1212

對備份進行壓縮:
#!/bin/bash
mysqlmp -uusername -ppassword DatabaseName | gzip > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql.gz1212

注意:
把 username 替換為實際的用戶名;
把 password 替換為實際的密碼;
把 DatabaseName 替換為實際的資料庫名;

4、添加可執行許可權:
chmod u+x bkDatabaseName.sh11

添加可執行許可權之後先執行一下,看看腳本有沒有錯誤,能不能正常使用;
./bkDatabaseName.sh11

5、添加計劃任務

檢測或安裝 crontab

確認crontab是否安裝:
執行 crontab 命令如果報 command not found,就表明沒有安裝
# crontab
-bash: crontab: command not found

❸ 如何在linux下實現mysql資料庫每天自動備份

mysql備份:
mysqlmp -u username -p dbname > BackupName.sql
mysql恢復:
mysql -u root -p dbname < BackupName.sql

所以你可以寫個shell腳本,腳本中執行mysql備份命令,然後把shell腳本加入crontab定時任務中就可以完成每天自動備份資料庫了。

❹ mysql資料庫太大了怎麼備份

命令:mysqlhot
這個命令會在拷貝文件之前會把表鎖住,並把數據同步到數據文件中,以避免拷貝到不完整的數據文件,是最安全快捷的備份方法。
命令的使用方法是:
mysqlhot -u root -p<rootpass> db1 db2 … dbn <output_dir>
如果需要備份全部資料庫,可以加上–regexp=」.*」參數。
Mysqlhot命令可自動完成數據鎖定工作,備份時不用關閉伺服器。
它還可以刷新日誌,使備份文件和日誌文件的檢查點能保持同步。

❺ mysql備份問題,mysql版本5.7.2

1.mysqlmp:最早,也是最成熟的邏輯備份工具,是 MySQL 原生的用來備份整個資料庫實例、單個資料庫、單張表的邏輯備份工具, 上手簡單,學習成本幾乎為 0。備份簡單,恢復也簡單。

比如導出單個資料庫 ytt: mysqlmp ytt > /tmp/ytt.sql;

恢復也非常簡單:mysql < /tmp/ytt.sql

缺點是備份速度慢。在整個備份過程中,是單線程運行;備份出來的數據集要恢復的話同樣也是單線程運行,恢復速度也慢。除非對同一時刻的所有表單獨備份出來,自己寫額外腳本進行多線程恢復。

2.mysqlpump:MySQL 5.7 GA 後推出的 mysqlmp工具的增強版。可以對同一個數據集多個線程並發備份,備份速度很快。

其他缺點和 mysqlmp 一樣。

3.MySQL Shell UTIL對象附帶的備份工具:隨 MySQL 8.0.21 最新版本捆綁發布,自帶多線程備份以及多線程恢復功能, 可以直接替代 mysqlmp/mysqlpump。

❻ Linux自動備份MySQL資料庫的實用方法


MySQL定期備份是一項重要的工作,但人工操作太繁瑣,也難避免有所疏漏,使用下面的方法即可讓系統定期備份數據。
◆1、創建備份文件夾
#cd /www
#makedir backup
◆2、編寫運行腳本
#vi autobackup
寫入以下內容:
filename=`date +%Y%m%d`
mysql_bin_dir/mysqlmp _opt dataname -u user -ppassword | gzip
/www/mysqlbackup/name$filename.gz
保存退枝褲出
說明:
(1)mysql_bin_dir:mysql的bin路徑;
(2)dataname:資料庫名;
(3)user:資料庫用戶名;
(4)password:陸搭歲用戶密碼;
(5)name:早睜自定義備份文件前綴標識。
如上例,將自動備份mysql資料庫,並以gzip壓縮方式存儲,文件名為name20080101.gz的形式。
◆3、為腳本添加執行許可權
#chmod +x autobackup
◆4、讓crontab來完成定期執行的任務
這一步中,Redhat的方法會不一樣,後面專門給出。
編輯crontab:
#vi /etc/crontab
在最後一行中加入:
01 5 * * * root /www/autobackup
每天5點運行腳本,也可以修改5為其他指定時間。
Redhat方法:
Redhat的crontab採用按時間調用4個目錄(/etc/cron.hourly:每小時;/etc/cron.daily:每天;/etc/cron.weekly:每周;/etc/cron.monthly:每月)中腳本出來運行的方式。
Redhat中只需要將剛才編輯的腳本復制到相應的目錄即可。
◆5、重啟crontab
#/etc/rc.d/init.d/crond restart
完成。

❼ linux 登錄mysql 後 怎麼備份

用命令實現備份

MySQLl提供了一個mysqlmp命令,我們可以用它進行數據備份。

按提示輸入密碼,這就把tm資料庫所有的表結構和# mysqlmp -u root -p tm > tm_050519.sql數據備份到tm_050519.sql了,因為要總進行備份工作,如果數據量大會佔用很大空間,這時可以利用gzip壓縮數據,命令如下:

# mysqlmp -u root -p tm | gzip > tm_050519.sql.gz
系統崩潰,重建系統時,可以這樣恢復數據:

# mysqlmp -u root -p tm < tm_050519.sql
從壓縮文件直接恢復:

#gzip < tm_050519.sql.gz | mysqlmp -u root -p tm
當然,有很多MySQL工具提供更直觀的備份恢復功能,比如用phpMyAdmin就很方便。但我認為,mysqlmp是最基本、最通用的。

二、利用crontab,系統每天定時備份mysql資料庫

利用系統crontab來定時執行備份文件,按日期對備份結果進行保存,達到備份的目的。

1、創建保存備份文件的路徑/var/backup/mysqlbak

# mkdir -p /var/backup/mysqlbak
2、創建/usr/sbin/bakmysql文件

#vi /usr/sbin/bakmysql.sh

#!/bin/bash
# mysql備份腳本
cd /var/backup/mysqlbak/
dateDIR=`date +"%y-%m-%d"`
mkdir -p $dateDIR/data
for i in `/usr/local/www/mysql/bin/mysql -uroot -plin31415926 -e "show databases" |
grep -v "Database" | grep -v "information_schema"`
do
/usr/local/www/mysql/bin/mysqlmp -uroot -plin31415926 $i |
gzip > /var/backup/mysqlbak/$dateDIR/${i}_${dateDIR}.gz
done
3、修改文件屬性,使其可執行

# chmod +x /usr/sbin/bakmysql
4、修改/etc/crontab

# crontab -e
在下面添加
01 3 * * * root /usr/sbin/bakmysql
#表示每天3點鍾執行備份

這樣每天就可以在/var/backup/mysqlbak下看到備份的sql文件 了!

閱讀全文

與mysqllinux備份工具相關的資料

熱點內容
墨鏡慧眼怎麼下載廠商的app 瀏覽:59
iphone加密專線 瀏覽:491
aes產生加密文件 瀏覽:411
編程實現藍牙通信 瀏覽:766
怎麼恢復掉簽的app 瀏覽:847
伺服器部署ip地址 瀏覽:321
涉密場所周邊安全防護距離演算法 瀏覽:672
安卓fpse模擬器怎麼設置加速 瀏覽:946
建行app怎麼生成電子簽章 瀏覽:508
獲取當前時間javadate 瀏覽:73
帶密碼的wifi如何加密 瀏覽:237
伺服器怎麼變成陣列 瀏覽:718
web前端黑客技術pdf 瀏覽:71
育兒百科全書pdf 瀏覽:600
任務欄啟動命令 瀏覽:912
編譯優化等級區別 瀏覽:757
unix網關命令 瀏覽:877
想自己做網站要學編程嗎 瀏覽:597
租個伺服器開個私服需要什麼 瀏覽:273
圖片換成pdf格式 瀏覽:665