linux資料庫備份方法

2021-10-10 22:48:55 字數 1646 閱讀 6168

mkdir   dir  資料夾名稱  例如 mkdr dir /opt/mysql

#!/bin/bash

# 設定mysql的登入使用者名稱和密碼(根據實際情況填寫)

mysql_user="***"

mysql_password="***"

mysql_host="localhost"

mysql_port="3306"

mysql_charset="utf8mb4"

# 備份檔案存放位址(根據實際情況填寫)

backup_location=/bak

# 設定時間為7天

expire_backup_delete="on"

expire_days=7

backup_time=`date +%y%m%d%h%m`

backup_dir=$backup_location

welcome_msg="welcome to use mysql backup tools!"

# 判斷mysql例項是否正常執行

mysql_ps=`ps -ef |grep mysql |wc -l`

mysql_listen=`netstat -an |grep listen |grep $mysql_port|wc -l`

if [ [$mysql_ps == 0] -o [$mysql_listen == 0] ]; then

echo "error:mysql is not running! backup stop!"

exit

else

echo $welcome_msg

fi# 備份指定資料庫中資料(此處假設資料庫是test)

mysqldump -h$mysql_host -p$mysql_port -u$mysql_user -p$mysql_password -b test> $backup_dir/test-$backup_time.sql

flag=`echo $?`

if [ $flag == "0" ];then

echo "database testsuccess backup to $backup_dir/test-$backup_time.sql.gz"

else

echo "database test backup fail!"

fi# 刪除過期資料

if [ "$expire_backup_delete" == "on" -a "$backup_location" != "" ];then

`find $backup_location/ -type f -mtime +$expire_days | xargs rm -rf`

echo "expired backup data delete complete!"

fi#

編輯定時任務:

crontab -e

# 新增定時任務(每天8:30以及16:30,23:30執行備份操作)

30 8,16,23 * * * cd /mysqlback/;sh mysql_backup.sh>>backup.log 2>&1

#此處重啟一下crontab讓配置生效

/bin/systemctl restart crond.service

linux 資料庫備份

階段1 傻瓜式全備份 1 mysqldump h ip位址 uusername ppassword name name.sql 此種情況將整個資料庫 結構和資料 匯出備份成乙個sql檔案 階段2 適當的調整引數達到不同的備份效果 我們先help一下 mysqldump help 由於help輸出過多...

備份MySQL資料庫方法

匯出要用到mysql的mysqldump工具,基本用法是 mysqldump options database tables 如果你不給定任何表,整個資料庫將被匯出。通過執行mysqldump help,你能得到你mysqldump的版本支援的選項表。注意,如果你執行mysqldump沒有 quic...

MySql資料庫備份方法

下面就是使用mysql進行資料庫備份總結的簡潔方法,而且又快又好。一 資料備份捷徑 因為這個方法沒有得到官方正式文件的驗證,我們暫稱為試驗吧。目的 備份hosta主機中乙個mysql資料庫testa,並恢復到到hostb機中 在hosta中安裝mysql資料庫並建立testa資料庫 hostb機安裝...