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-table每個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

相關文章:

翻譯: