Linux備份mysql資料庫及資料還原

2021-10-09 04:37:20 字數 2090 閱讀 7408

mkdir /home/backup
vim backup.sh
#!

/bin/bash

#儲存備份個數,備份7天資料

number=

7#備份儲存路徑

backup_dir=

/home/backup

#日期dd=

`date +%y-%m-%d-%h-%m`

#備份工具

tool=

/opt/lampp/bin/mysqldump

#使用者名稱

username=root

#密碼password=

123456

#將要備份的資料庫

database_name=crm

#如果資料夾不存在則建立if[

!-d $backup_dir ]

;then

mkdir -p $backup_dir;

fi#如果資料庫在另一台伺服器需指定位址 -h 192.168

.21.25

$tool -u $username -p$password $database_name > $backup_dir/$database_name-$dd.sql

#寫建立備份日誌

echo "create $backup_dir/$database_name-$dd.dupm"

>> $backup_dir/log.txt

#找出需要刪除的備份

delfile=

`ls -l -crt $backup_dir/*.sql | awk '' | head -1`

#判斷現在的備份數量是否大於$number

count=

`ls -l -crt $backup_dir/*.sql | awk '' | wc -l`

if[ $count -gt $number ]

then

#刪除最早生成的備份,只保留number數量的備份

rm $delfile

#寫刪除檔案日誌

echo "delete $delfile"

>> $backup_dir/log.txt

fi

密碼也可以不用寫在指令碼中
找到my.cnf,編輯

[mysqldump]

quick

max_allowed_packet =

16m#在這裡輸入user及password,在執行mysqldump命令就不用輸入使用者名稱和密碼了

user=username #填寫真實mysql使用者名稱

password=password #填寫真實mysql密碼

crontab -e #建立定時任務,如果沒有按照crontab請安裝後重試。**

*** 命令:前面5個*代表,分 時 日 月 周,根據自己的需求設定備份時間,本次測試使用每分鐘備份一次*/

1***

*/home/backup/backup.sh

service crond restart #重啟服務

第一種方法

[root@obj root]# mysql -u root -p test <

/home/backup/crm-

2020-08

-14-14

-32.sql

enter password:

123456

第二種方法

①先登入mysql資料庫,輸入命令 mysql -u root -p,輸入密碼即可

②再使用資料庫test, use test

③匯入備份檔案. source /home/backup/crm-

2020-08

-14-14

-32.sql

linux備份mysql資料庫

1.匯出命令 匯出 mysqldump u root p 資料庫名稱 資料庫儲存位置及檔名 然後按提示輸入資料庫密碼2.匯入命令 mysql u 使用者名稱 p 資料庫名 3.拷貝 如果資料庫比較大,可以考慮用直接拷貝的方法,但不同版本和作業系統之間可能不相容,要慎用。3.1 將原始資料庫用tar打...

linux備份mysql資料庫

建立指令碼 touch usr local bin backup mysql.sh 編輯指令碼 資料庫使用者名稱 db user username 資料庫密碼 db passwd password 備份的庫 table1 table1 table2 table2 備份到的目錄 backup dir ...

Linux自動備份MySQL資料庫

mysql定期備份是一項重要的工作,但人工操作太繁瑣,也難避免有所疏漏,使用下面的方法即可讓系統定期備份資料。1 建立備份檔案夾 cd www makedir backup 2 編寫執行指令碼 vi autobackup 寫入以下內容 filename date y m d mysql bin di...