一、mysqldump 簡介
mysqldump 可用來轉儲數(shù)據(jù)庫或搜集數(shù)據(jù)庫進行備份,或將數(shù)據(jù)轉移到另一個sql服務器(不一定是一個mysql服務器)。轉儲包含創(chuàng)建表和/或裝載表的sql語句。
如果在服務器上進行備份,并且表均為 myisam 表,應考慮使用 mysqlhotcopy ,因為可以更快地進行備份和恢復。
二、備份命令
2.1 命令格式
mysqldump [選項] 數(shù)據(jù)庫名 [表名] > 腳本名
或
mysqldump [選項] --數(shù)據(jù)庫名 [選項 表名] > 腳本名
或
mysqldump [選項] --all-databases [選項] > 腳本名
2.2 選項說明
| 參數(shù)名 | 縮寫 | 含義 |
|---|---|---|
| --host | -h | 服務器IP地址 |
| --port | -P | 服務器端口號 |
| --user | -u | MySQL 用戶名 |
| --pasword | -p | MySQL 密碼 |
| --databases | 指定要備份的數(shù)據(jù)庫 | |
| --all-databases | 備份mysql服務器上的所有數(shù)據(jù)庫 | |
| --compact | 壓縮模式,產生更少的輸出 | |
| --comments | 添加注釋信息 | |
| --complete-insert | 輸出完成的插入語句 | |
| --lock-tables | 備份前,鎖定所有數(shù)據(jù)庫表 | |
| --no-create-db/--no-create-info | 禁止生成創(chuàng)建數(shù)據(jù)庫語句 | |
| --force | 當出現(xiàn)錯誤時仍然繼續(xù)備份操作 | |
| --default-character-set | 指定默認字符集 | |
| --add-locks | 備份數(shù)據(jù)庫表時鎖定數(shù)據(jù)庫表 |
2.3 實例
備份所有數(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
注:在導入備份數(shù)據(jù)庫前,db_name如果沒有,是需要創(chuàng)建的; 而且與db_name.db中數(shù)據(jù)庫名是一樣的才可以導入。
3.2 soure 方法
mysql > use db_name
mysql > source /backup/mysqldump/db_name.db