mysql資料庫備份

2022-08-02 17:45:16 字數 1645 閱讀 6952

原文

在開始備份之前,請鎖定需要備份的例項

mysql> lock instance for backup;

執行備份,完成後解鎖例項

mysql> unlock instance;

mysqldump工具備份

備份整個資料庫

$> mysqldump -u root -h host -p dbname > backdb.sql

備份資料庫中的某個表

$> mysqldump -u root -h host -p dbname tbname1, tbname2 > backdb.sql

備份多個資料庫

$> mysqldump -u root -h host -p --databases dbname1, dbname2 > backdb.sql

備份系統中所有資料庫

$> mysqldump -u root -h host -p --all-databases > backdb.sql

備份全部資料庫的資料和結構

mysqldump -uroot -p123456 -a > /data/mysqldump/mydb.sql

備份全部資料庫的結構(加 -d 引數)

mysqldump -uroot -p123456 -a -d > /data/mysqldump/mydb.sql

備份全部資料庫的資料(加 -t 引數)

mysqldump -uroot -p123456 -a -t > /data/mysqldump/mydb.sql

定時備份 (shell指令碼)

vim backupdb.sh

建立指令碼內容如下:

#!/bin/sh

db_user="

root

"db_passwd="

123456

"db_name="

userdb

"name="

$(date +

"%y%m%d%h%m%s")"

/usr/bin/mysqldump -u$db_user -p$db_passwd $db_name >>/home/backup/$name.sql

說明:/usr/bin/mysqldump :mysql資料庫安裝目錄下的mysqldump備份工具路徑

dbname :需要備份的資料庫名字

/home/backup/$name.sql :備份檔案輸出位置,可以根據情況自行設定

2. 給shell指令碼新增執行許可權

chmod u+x backupdb.sh

3. 給指令碼新增定時任務

crontab -e

00 01 * * * /bin/sh /usr/local/mysql/backupdb.sh

上面的定時任務意思是每天凌晨1點會執行自動備份腳,進行sql資料庫的定時備份

格式如下:minute hour day month week command

上面的定時任務意思是每天凌晨1點會執行自動備份腳,進行mysql資料庫的定時備份.

crontab -l 檢視任務

MySQL資料庫備份

晏子 在資料庫表丟失或損壞的情況下,備份你的資料庫是很重要的。如果發生系統崩潰,你肯定想能夠將你的表盡可能丟失最少的資料恢復到崩潰發生時的狀態。有時,正是mysql管理員造成破壞。管理員已經知道表以破壞,用諸如vi或emacs等編輯器試圖直接編輯它們,這對錶絕對不是件好事!備份資料庫兩個主要方法是用...

My SQL資料庫備份

因為mysql表作為檔案儲存,做乙個備份是容易的。為了得到乙個一致的備份,在相關的表上做乙個lock tables。你只需乙個讀鎖定 當你在資料庫目錄中做檔案的乙個拷貝時,這允許其他執行緒繼續查詢該錶。如果你想要做乙個sql級的備份,你可以select into outfile。備份乙個資料庫的另乙...

MySQL資料庫備份

不管你使用哪種備份方法,如果你需要恢復資料庫,有幾個原則應該遵守,以確保最好的結果 用於建立備份的 技術同樣對拷貝資料庫到另一台機器有用。最常見地,乙個資料庫被轉移到了執行在另一台主機上的伺服器,但是你也可以將資料轉移到同一臺主機上的另乙個伺服器。1 使用mysqldump備份和拷貝資料庫 當你使用...