mysqldump
MySQL數據庫中備份工具
補充說明
mysqldump命令 是mysql數據庫中備份工具,用於將MySQL服務器中的數據庫以標準的sql語言的方式導出,並保存到文件中。
語法
1mysqldump(選項)
選項
1--add-drop-table:在每個創建數據庫表語句前添加刪除數據庫表的語句;
2--add-locks:備份數據庫表時鎖定數據庫表;
3--all-databases:備份MySQL服務器上的所有數據庫;
4--comments:添加註釋信息;
5--compact:壓縮模式,產生更少的輸出;
6--complete-insert:輸出完成的插入語句;
7--databases:指定要備份的數據庫;
8--default-character-set:指定默認字符集;
9--force:當出現錯誤時仍然繼續備份操作;
10--host:指定要備份數據庫的服務器;
11--lock-tables:備份前,鎖定所有數據庫表;
12--no-create-db:禁止生成創建數據庫語句;
13--no-create-info:禁止生成創建數據庫庫表語句;
14--password:連接MySQL服務器的密碼;
15--port:MySQL服務器的端口號;
16--user:連接MySQL服務器的用戶名。
17--skip-lock-tables: 不鎖表導出
實例
導出整個數據庫
1mysqldump -u 用戶名 -p 數據庫名 > 導出的文件名
2mysqldump -u linuxde -p smgp_apps_linuxde > linuxde.sql
導出一個表
1mysqldump -u 用戶名 -p 數據庫名 表名> 導出的文件名
2mysqldump -u linuxde -p smgp_apps_linuxde users > linuxde_users.sql
導出一個數據庫結構
1mysqldump -u linuxde -p -d --add-drop-table smgp_apps_linuxde > linuxde_db.sql
-d
沒有數據,--add-drop-tabl
e每個create語句之前增加一個drop table
問題解決
鎖表失敗
1mysqldump: Got error: 1044: "Access denied for user 'appuser'@'1%' to database 'tc_mall'" when doing LOCK TABLES
可使用--skip-lock-tables
在導出數據階段跳過鎖表流程
來源:https://github.com/jaywcjlove/linux-command
最後修改於: Wednesday, January 31, 2024
版權申明:
- 未標註來源的內容皆為原創,未經授權請勿轉載(因轉載後排版往往錯亂、內容不可控、無法持續更新等);
- 非營利為目的,演繹本博客任何內容,請以'原文出處'或者'參考鏈接'等方式給出本站相關網頁地址(方便讀者)。