mysqldump的使用
生活随笔
收集整理的這篇文章主要介紹了
mysqldump的使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
mysqldump工具介紹
mysqldump是mysql自帶的邏輯備份工具。它通過協議連接到mysql數據庫,將需要備份的數據查詢出來,將查詢出的數據轉換成對應的insert語句。
使用語法:
Usage: mysqldump [OPTIONS] database [tables]
OR mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3…]
OR mysqldump [OPTIONS] --all-databases [OPTIONS]
常用的參數說明
| -h,--host=name | 連接地址 |
| -p,--password | 密碼 |
| -P,--port | 端口 |
| -S,--socket=name | socket文件 |
| -u,--user=name | 用戶名 |
| -v,--verbose | 輸出備份過程信息 |
| -A,--all-databases | 備份所有數據庫 |
| -Y,--all-tablespaces | 備份所有表空間 |
| -y,--no-tablespaces | 不備份表空間 |
| -B,--databases | 備份指定的數據庫 |
| -d,--no-data | 不備份數據 |
| --ignore-table=name | 不備份某些指定的表 |
| -n,--no-create-db | 不寫入創建表信息 |
其他參數說明
| --tables | 備份指定的表,多個表空格隔開 |
| -l,--lock-tables | 備份中鎖定所有表,默認是開啟 |
| --add-drop-database | 在創建之前先刪除數據庫 |
| --add-drop-table | 在創建之前先刪除表,默認是開啟的 |
| --add-drop-trigger | 在創建之前先刪除觸發器 |
| --add-locks | 備份時加鎖,默認開啟 |
| --allow-keywords | 允許創建列屬性字段是關鍵字 |
| --bind-address=name | 綁定的ip地址 |
| --character-sets-dir=name | 字符編碼的目錄 |
| --colum-statistics | 執行ANALYZE TABLE重新生產列統計信息,默認開啟 |
| -i,--comments | 注釋,默認開啟 |
| --compatible=name | 兼容模式,版本要大于4.1.0 |
| --compact | 簡潔輸出模式,使用調試 |
| -c,--complete-insert | 使用完整的插入語句 |
| -C,--compress | 壓縮 |
| -a,--create-options | 包含所有的特殊的創建選項,默認開啟 |
| --default-character-set=name | 默認字符編碼 |
| --delete-master-logs | 備份完成后刪除主庫上的相關日志信息 |
| -K,--disable-keys | '/*!40000 ALTER TABLE tb_name DISABLE KEYS /; and '/!40000 ALTER TABLE tb_name ENABLE KEYS */; will be put in the output.默認開啟 |
| -E,--events | 備份事件 |
| -e,--extended-insert | 備份生產使用批量插入語法,默認開啟 |
| -F,--flush-logs | 開始備份之前刷新日志 |
| -flush-privileges | 備份完成之后刷新權限 |
| -f,--force | 當出現錯誤的時候繼續進行備份 |
| --insert-ignore | 插入行使用insert ignore |
| -x,--lock-all-tables | 鎖定所有數據庫中的所有表。自動關閉使用--single-transaction and --lock-tables |
| --log-error=name | 輸出警告和錯誤信息 |
| --max-allowed-packet | 允許的最大的包 |
| --order-by-primary | 以主鍵或唯一鍵進行排序 |
| -q,--quick | 不需要緩存,直接輸出 |
| --replace | 使用replace into的語法的插入 |
| -R,--routines | 備份函數和存儲過程 |
| --single-transaction | 單進程備份 |
| --dump-date | 在最后輸出備份日志 |
| --master-data | 將從庫備份日志信息寫入文件中,有1(不包含注釋)和2(包含注釋)兩種模式 |
| --skip-opt | Disable --opt. Disables --add-drop-table,--add-locks, --create-options,--quick,--extended-insert,--lock-tables,--set-charset, and--disable-keys. |
備份測試
1.備份所有數據庫
mysqldump -u root -p -S /tmp/mysql.sock --all-databases > /tmp/mysql_bak.sql2.備份指定數據庫
mysqldump -u root -p -S /tmp/mysql.sock --databases test > /tmp/test.sql3.備份指定的表
mysqldump -u root -p -S /tmp/mysql.sock --databases test --tables aa > /tmp/aa.sql4.導出指定條件的表數據
mysqldump -u root -p -S /tmp/mysql.sock --databases test --tables aa --where "userid > 16"> /tmp/user.sql5.只導出表結構,不導出數據
mysqldump -u root -p -S /tmp/mysql.sock --databases test --no-data > /tmp/test_table.sql6.只導出數據,不導出表結構
## 導出的sql中不包含drop table,create table mysqldump -u root -p -S /tmp/mysql.sock --databases test --tables aa --no-create-info > /tmp/aa_data.sql還原測試
1.利用source命令進行還原
## 刪除test數據 mysql> drop database test; Query OK, 2 rows affected (0.09 sec)## 利用source命令還原 source /tmp/test.sql2.利用系統命令進行還原
## 利用mysqladmin創建庫 mysqladmin -u root -p -S /tmp/mysql.sock create test## 利用mysql命令導入執行sql mysql -u root -p -S /tmp/mysql.sock test < /tmp/test.sql總結
以上是生活随笔為你收集整理的mysqldump的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机无法识别佳能70d相机,佳能600
- 下一篇: thinkphp5多级控制器及其使用