日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

MySQL之备份恢复

發布時間:2025/3/14 数据库 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL之备份恢复 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

六:備份與恢復 (優先掌握)

語法
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語句。–dump-slave[=#] //該參數用于在從庫備份數據,在線搭建新的從庫時使用。此參數也有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熱備,對存儲引擎有要求強大較大規模的備份

轉載于:https://www.cnblogs.com/plf-Jack/p/11196939.html

總結

以上是生活随笔為你收集整理的MySQL之备份恢复的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。