MySQL之備份恢復

2022-02-20 11:28:52 字數 4231 閱讀 3413

語法
mysqldump  -u使用者名稱  -p密碼 -h主機名  -p埠   -a > 檔名.sql

------------------mysqldump的引數------------------------

-u, --user=name //指定連線的使用者名稱

-p, --password[=name] //指定使用者的密碼,這裡可以指定引數名,

-s, --socket=name //指定socket檔案連線 用於本地連線

-h, --host=name //指定連線的伺服器名

-p, --port=埠 //指定連線的伺服器端口號

–tables //匯出指定的表物件,格式為 『dbname tablename』,如mysqldump -s /tmp/mysql3306.sock test t1,缺省會覆蓋-b, --databases引數

–single-transaction //在備份開始前,先執行start transaction命令,以此來獲得備份的一致性,當前該引數只對innodb儲存引擎有效。當啟用該引數並進行備份時,確保沒有其他任何的ddl語句執行(alter table, drop table, rename table,truncate table),因為一致性讀並不能隔離ddl操作。啟用此引數時,引數--lock-tables將自動禁用。

-a, --all-databases //備份所有資料庫

-b, --databases //備份指定的資料庫,如mysqldump -s /tmp/mysql3306.sock --database db1 db2

–default-character-set=name //設定字符集,預設為以伺服器設定的字符集進行匯出。

-l, --lock-tables //以唯讀方式依次鎖住每個庫下的所有表,預設啟用。使用--skip-lock-tables禁用。不能保證所有庫下的表備份一致。

-x, --lock-all-tables //在備份過程中,對所有庫的所有表,同時鎖定。若指定了本引數,則會自動禁用--single-transaction和-l, --lock-tables引數。

–add-drop-database //在任何建立庫語句前,附加drop database語句。

–add-drop-table //在任何建表語句錢,附加drop table語句。預設啟用。如果不希望生成drop table語句,可以通過--skip-add-drop-table引數禁用。

–add-drop-trigger //建立任何觸發器前,附加drop trigger語句。

–add-locks //在生成的insert語句錢附加lock語句,預設啟用。使用 --skip-add-locks來禁用。

–allow-keywords //允許建立使用關鍵字的列名。

–master-data[=#] //該引數有1和2兩個值,如果值等於1,就會在備份檔案中新增乙個change master語句。如果值為2,就會在備份檔案中新增乙個帶有注釋符號的change master語句。

-t, --no-create-info //備份過程中,只備份表資料,不備份表結構

-d, --no-data //備份過程中,只備份表結構,不備份表資料

-c, --complete-insert //使用完整的insert語句會包含表中的列資訊,這麼做可以提高插入效率。

-q, --quick //表示匯出時不會先將資料載入至buffer中,而是直接輸出。預設啟用,使用 --skip-quick禁用

-w, --where=name //匯出給定條件的資料

備份與恢復
# 備份資料

---------------------1. 備份命令----------------------

# 格式:

mysqldump -h主機名 -p埠 -u使用者名稱 -p密碼 --database 資料庫名 > 檔名.sql

# 示例

mysqldump -h 192.168.1.100 -p 3306 -uroot -ppassword --database cmdb > /data/backup/cmdb.sql

-----------------------2. 備份壓縮-----------------------

# 格式

mysqldump -h主機名 -p埠 -u使用者名稱 -p密碼 --database 資料庫名 | gzip > 檔名.sql.gz

# 示例

mysqldump -h192.168.1.100 -p 3306 -uroot -ppassword --database cmdb | gzip > /data/backup/cmdb.sql.gz

-------------------------3. 備份同個庫多個表------------

# 格式:

mysqldump -h主機名 -p埠 -u使用者名稱 -p密碼 --database 資料庫名 表1 表2 .... > 檔名.sql

# 示例

mysqldump -h192.168.1.100 -p3306 -uroot -ppassword cmdb t1 t2 > /data/backup/cmdb_t1_t2.sql

----------------------4. 同時備份多個庫--------------

# 格式

mysqldump -h主機名 -p埠 -u使用者名稱 -p密碼 --databases 資料庫名1 資料庫名2 資料庫名3 > 檔名.sql

# 示例

mysqldump -h192.168.1.100 -uroot -ppassword --databases cmdb bbs blog > /data/backup/mutil_db.sql

----------------------5. 備份例項上所有的資料庫-------------------

# 格式:

mysqldump -h主機名 -p埠 -u使用者名稱 -p密碼 --all-databases > 檔名.sql

# 示例

mysqldump -h192.168.1.100 -p3306 -uroot -ppassword --all-databases > /data/backup/all_db.sql

---------------6. 備份資料出帶刪除資料庫或者表的sql備份-----------

# 格式:

mysqldump -h主機名 -p埠 -u使用者名稱 -p密碼 --add-drop-table --add-drop-database 資料庫名 > 檔名.sql

# 示例

mysqldump -uroot -ppassword --add-drop-table --add-drop-database cmdb > /data/backup/all_db.sql

--------------------7. 備份資料庫結構,不備份資料-------------

# 格式:

mysqldump -h主機名 -p埠 -u使用者名稱 -p密碼 --no-data 資料庫名1 資料庫名2 資料庫名3 > 檔名.sql

# 示例

mysqldump --no-data –databases db1 db2 cmdb > /data/backup/structure.sql

---------------# 恢復資料---------------------

第一種:退出資料庫之後的恢復

mysql -u使用者名稱 -p密碼 < filename.sql;

第二種:在資料庫中

source filename;

第三種:遷移資料庫

mysqldump -h 源ip -u使用者名稱 -b 資料庫名稱 | mysql -h 目標ip -u使用者名稱 -p使用者密碼

常用的備份工具:鏈結

備份方法

備份速度

恢復速度

便捷性功能

一般用於cp快

快一般,靈活性低

很弱少量資料備份

mysqldump慢慢

一般,可無視儲存引擎

一般中小型資料量備份

lvm2快照快快

一般,支援熱備,速度快

一般中小型資料量備份

xtrabackup

較快較快

實現innodb熱備,對儲存引擎有要求

強大較大規模的備份

mysql備份恢復 mysql之備份與恢復

工作中,我們經常會遇到資料庫的備份與恢復場景 目錄1 mysql的備份與恢復 2 mysql的匯入與匯出 1 mysql的備份與恢復 mysql的備份命令是mysqldump,mysql之備份 mysqldump u user h host port p db table.file u 後面接資料庫...

mysql筆記之備份恢復

1.設計備份策略 2.日常備份 3.恢復演練 4.故障恢復 5.遷移 備份型別 熱備 在資料庫正常業務時,備份資料,並且能夠一致性恢復 冷備 關閉資料庫業務,資料庫沒有任何變更的情況下,進行備份資料 溫備 鎖表備份,只能查詢不能修改 備份方式 邏輯備份 mysqldump mysqlbinlog物理...

Mysql 之 完全備份 增量備份 備份恢復

一 資料備份的重要性 在生產環境中,資料的安全性是至關重要的,任何資料的丟失都可能產生嚴重的後果造成資料丟失的原因 程式錯誤人為錯誤計算機失敗磁碟失敗災難 如火災 和偷竊 二 資料庫備份的分類 2.1 從物理與邏輯的角度 備份可分為 物理備份 對資料庫作業系統的物理檔案 如資料檔案 日誌檔案等 的備...