一、mysqldump 簡介
mysqldump 是 MySQL 自帶的邏輯備份工具旦袋。
它的備份原理是通過協(xié)議連接到 MySQL 數(shù)據(jù)庫骤菠,將需要備份的數(shù)據(jù)查詢出來,將查詢出的數(shù)據(jù)轉(zhuǎn)換成對應(yīng)的insert 語句疤孕,當(dāng)我們需要還原這些數(shù)據(jù)時商乎,只要執(zhí)行這些 insert 語句,即可將對應(yīng)的數(shù)據(jù)還原祭阀。
二鹉戚、備份命令
2.1 命令格式
mysqldump [選項] 數(shù)據(jù)庫名 [表名] > 腳本名
或
mysqldump [選項] --數(shù)據(jù)庫名 [選項 表名] > 腳本名
或
mysqldump [選項] --all-databases [選項] > 腳本名
2.2 選項說明
參數(shù)名 縮寫 含義
--host -h 服務(wù)器IP地址
--port -P 服務(wù)器端口號
--user -u MySQL 用戶名
--pasword -p MySQL 密碼
--databases 指定要備份的數(shù)據(jù)庫
--all-databases 備份mysql服務(wù)器上的所有數(shù)據(jù)庫
--compact 壓縮模式,產(chǎn)生更少的輸出
--comments 添加注釋信息
--complete-insert 輸出完成的插入語句
--lock-tables 備份前专控,鎖定所有數(shù)據(jù)庫表
--no-create-db/--no-create-info 禁止生成創(chuàng)建數(shù)據(jù)庫語句
--force 當(dāng)出現(xiàn)錯誤時仍然繼續(xù)備份操作
--default-character-set 指定默認(rèn)字符集
--add-locks 備份數(shù)據(jù)庫表時鎖定數(shù)據(jù)庫表
2.3 實(shí)例
備份所有數(shù)據(jù)庫:
mysqldump -uroot -p --all-databases > /backup/mysqldump/all.db
備份指定數(shù)據(jù)庫:
mysqldump -uroot -p test > /backup/mysqldump/test.db
備份指定數(shù)據(jù)庫指定表(多個表以空格間隔)
mysqldump -uroot -p mysql db event > /backup/mysqldump/2table.db
備份指定數(shù)據(jù)庫排除某些表
mysqldump -uroot -p test --ignore-table=test.t1 --ignore-table=test.t2 > /backup/mysqldump/test2.db
三抹凳、還原命令
3.1 系統(tǒng)行命令
mysqladmin -uroot -p create db_name
mysql -uroot -p db_name < /backup/mysqldump/db_name.db
注:在導(dǎo)入備份數(shù)據(jù)庫前,db_name如果沒有踩官,是需要創(chuàng)建的却桶; 而且與db_name.db中數(shù)據(jù)庫名是一樣的才可以導(dǎo)入。
3.2 soure 方法
mysql > use db_name
mysql > source /backup/mysqldump/db_name.db
三蔗牡、增量備份