Client mysqldump thực hiện backup logic, sinh tập câu lệnh SQL tái tạo định nghĩa đối tượng database gốc và dữ liệu bảng.
Cách dùng mysqldump
- Dump một/nhiều database MySQL để backup hoặc chuyển server SQL khác.
- Sinh output CSV, text delimited khác, XML.
- Yêu cầu quyền:
SELECTcho bảng dump,SHOW VIEWcho view,TRIGGERcho trigger,LOCK TABLESnếu không dùng--single-transaction,PROCESSnếu không dùng--no-tablespaces. - Database có thể clone cho dev/DBA, hoặc tạo biến thể nhẹ database hiện có cho test.
- Backup/restore quy mô lớn: khuyến nghị backup vật lý (physical backup), copy file dữ liệu dạng gốc → restore nhanh:
- Nếu bảng chủ yếu InnoDB, hoặc mix InnoDB/MyISAM, dùng lệnh
mysqlbackup(MySQL Enterprise Backup). Hiệu năng tốt nhất cho backup InnoDB, gián đoạn tối thiểu.
- Nếu bảng chủ yếu InnoDB, hoặc mix InnoDB/MyISAM, dùng lệnh
mysqldumpcũng có thể dump từng hàng (row by row) hoặc lấy toàn bộ nội dung bảng đệm trong bộ nhớ trước khi dump.
Cú pháp
3 cách dùng mysqldump: dump tập một/nhiều bảng, tập một/nhiều database hoàn chỉnh, hoặc toàn bộ MySQL server:
shell> mysqldump [options] db_name [tbl_name ...] shell> mysqldump [options] --databases db_name ... shell> mysqldump [options] --all-databases
Muốn dump toàn bộ database, không đặt tên bảng sau db_name, hoặc dùng --databases hoặc --all-databases.