MySQL之mysqldump的使用詳解
一、mysqldump 簡(jiǎn)介
mysqldump 是 MySQL 自帶的邏輯備份工具。
它的備份原理是通過(guò)協(xié)議連接到 MySQL 數(shù)據(jù)庫(kù),將需要備份的數(shù)據(jù)查詢出來(lái),將查詢出的數(shù)據(jù)轉(zhuǎn)換成對(duì)應(yīng)的insert 語(yǔ)句,當(dāng)我們需要還原這些數(shù)據(jù)時(shí),只要執(zhí)行這些 insert 語(yǔ)句,即可將對(duì)應(yīng)的數(shù)據(jù)還原。
二、備份命令
2.1 命令格式
mysqldump [選項(xiàng)] 數(shù)據(jù)庫(kù)名 [表名] > 腳本名
或
mysqldump [選項(xiàng)] --數(shù)據(jù)庫(kù)名 [選項(xiàng) 表名] > 腳本名
或
mysqldump [選項(xiàng)] --all-databases [選項(xiàng)] > 腳本名
2.2 選項(xiàng)說(shuō)明
參數(shù)名 縮寫 含義 --host -h 服務(wù)器IP地址 --port -P 服務(wù)器端口號(hào) --user -u MySQL 用戶名 --pasword -p MySQL 密碼 --databases 指定要備份的數(shù)據(jù)庫(kù) --all-databases 備份mysql服務(wù)器上的所有數(shù)據(jù)庫(kù) --compact 壓縮模式,產(chǎn)生更少的輸出 --comments 添加注釋信息 --complete-insert 輸出完成的插入語(yǔ)句 --lock-tables 備份前,鎖定所有數(shù)據(jù)庫(kù)表 --no-create-db/--no-create-info 禁止生成創(chuàng)建數(shù)據(jù)庫(kù)語(yǔ)句 --force 當(dāng)出現(xiàn)錯(cuò)誤時(shí)仍然繼續(xù)備份操作 --default-character-set 指定默認(rèn)字符集 --add-locks 備份數(shù)據(jù)庫(kù)表時(shí)鎖定數(shù)據(jù)庫(kù)表
2.3 實(shí)例
備份所有數(shù)據(jù)庫(kù):
mysqldump -uroot -p --all-databases > /backup/mysqldump/all.db
備份指定數(shù)據(jù)庫(kù):
mysqldump -uroot -p test > /backup/mysqldump/test.db
備份指定數(shù)據(jù)庫(kù)指定表(多個(gè)表以空格間隔)
mysqldump -uroot -p mysql db event > /backup/mysqldump/2table.db
備份指定數(shù)據(jù)庫(kù)排除某些表
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ù)庫(kù)前,db_name如果沒(méi)有,是需要?jiǎng)?chuàng)建的; 而且與db_name.db中數(shù)據(jù)庫(kù)名是一樣的才可以導(dǎo)入。
3.2 soure 方法
mysql > use db_namemysql > source /backup/mysqldump/db_name.db
實(shí)例
注:用戶名:root 密碼:DbPasswd 生成的sql腳本問(wèn) db.sql
導(dǎo)出數(shù)據(jù)庫(kù)為DBName的表結(jié)構(gòu)(不導(dǎo)數(shù)據(jù))
mysqldump -uroot -pDbPasswd -d DBName > db.sql
導(dǎo)出數(shù)據(jù)庫(kù)為DBName的表結(jié)構(gòu)及其所有數(shù)據(jù)(不加-d即可)
mysqldump -uroot -pDbPasswd DBName > db.sql;
導(dǎo)出數(shù)據(jù)庫(kù)為DBName的表(test)的結(jié)構(gòu)
mysqldump -uroot -pDbPasswd -d DBName test > db.sql
導(dǎo)出數(shù)據(jù)庫(kù)為DBName的表(test)的結(jié)構(gòu)及其所有數(shù)據(jù)(不加-d即可)
mysqldump -uroot -pDbPasswd DBName test > db.sql
到此這篇關(guān)于MySQL之mysqldump的使用詳解的文章就介紹到這了,更多相關(guān)MySQL mysqldump內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. Access數(shù)據(jù)庫(kù)安全的幾個(gè)問(wèn)題2. Mysql故障排除:Starting MySQL. ERROR! Manager of pid-file quit without updating file3. 數(shù)據(jù)庫(kù)Oracle9i的企業(yè)管理器簡(jiǎn)介4. Windows下在DOS用mysql命令行導(dǎo)入.sql文件5. 導(dǎo)出錯(cuò)誤編碼的mysql數(shù)據(jù)庫(kù)6. MySQL中InnoDB和MyISAM類型的差別7. mysql like語(yǔ)句問(wèn)題8. 整理Oracle數(shù)據(jù)庫(kù)碎片9. 巧用SQL語(yǔ)言在ACCESS數(shù)據(jù)庫(kù)中批量替換內(nèi)容10. Microsoft Office Access隱藏和顯示字段的方法
