Hướng dẫn mysqldump specific columns - cột cụ thể mysqldump
Nếu bạn muốn thực hiện kết xuất MySQL bao gồm cả lược đồ, nó có thể được thực hiện bằng cách làm theo các bước dưới đây: Tạo bảng tạm thời:
Sao chép dữ liệu vào TEMP_TABLE:
Bỏ các trường không cần thiết:
Đăng bài này, bạn có thể lấy mysqldump bằng cách chạy:
Nếu ý định là lấy một kết xuất dữ liệu (không có lược đồ), bạn có thể chạy lệnh bên dưới: 4.5.4 & NBSP; MySQLDump - Chương trình sao lưu cơ sở dữ liệuTiện ích của máy khách MySQLDump thực hiện các bản sao lưu logic, tạo ra một tập hợp các câu lệnh SQL có thể được thực thi để tái tạo các định nghĩa đối tượng cơ sở dữ liệu gốc và dữ liệu bảng. Nó bỏ một hoặc nhiều cơ sở dữ liệu MySQL để sao lưu hoặc chuyển sang máy chủ SQL khác. Lệnh MySQLDump cũng có thể tạo ra đầu ra trong CSV, văn bản được phân định khác hoặc định dạng XML.mysqldump client utility performs logical backups, producing a set of SQL statements that can be executed to reproduce the original database object definitions and table data. It dumps one or more MySQL databases for backup or transfer to another SQL server. The mysqldump command can also generate output in CSV, other delimited text, or XML format. Mẹo Cân nhắc sử dụng các tiện ích kết xuất Shell MySQL, cung cấp việc bán phá giá song song với nhiều luồng, nén tệp và hiển thị thông tin tiến trình, cũng như các tính năng của đám mây như luồng lưu trữ đối tượng cơ sở hạ tầng đám mây của Oracle và kiểm tra và sửa đổi dịch vụ cơ sở dữ liệu MySQL. Các bãi rác có thể dễ dàng được nhập vào phiên bản máy chủ MySQL hoặc hệ thống DB cơ sở dữ liệu MySQL bằng cách sử dụng các tiện ích kết xuất tải Shell Shell. Hướng dẫn cài đặt cho vỏ MySQL có thể được tìm thấy ở đây.
MySQLDump không bỏ vào lược đồ 0 privilege for dumped tables, 1 for dumped views, 2 for dumped triggers, 3 if the 4 option is not used, and (as of MySQL 8.0.21)
5 if the 6 option is not used. Certain options might require other privileges as noted in the option descriptions. MySQLDump không bỏ vào lược đồ 71.
Đầu ra MySQLDump có thể bao gồm các câu lệnh 8 statements that change the database collation. These may be used when dumping stored programs to preserve their character encodings. To reload a dump file containing
such statements, the 9 privilege for the affected database is required. Ghi chú Một kết xuất được thực hiện bằng cách sử dụng PowerShell trên Windows với chuyển hướng đầu ra tạo ra một tệp có mã hóa UTF-16:
Tuy nhiên, UTF-16 không được phép là bộ ký tự kết nối (xem các bộ ký tự máy khách không thể chấp nhận được), do đó, tệp kết xuất không thể được tải chính xác. Để giải quyết vấn đề này, hãy sử dụng tùy chọn 0, tạo ra đầu ra ở định dạng ASCII:
Không nên tải tệp kết xuất khi GTID được bật trên máy chủ ( 1), nếu tệp kết xuất của bạn bao gồm các bảng hệ thống. MySQLDump đưa ra các hướng dẫn DML cho các bảng hệ thống sử dụng công cụ lưu trữ Myisam không chuyển đổi và sự kết hợp này không được phép khi GTID được bật.mysqldump issues DML instructions for the system tables which use the non-transactional MyISAM storage engine, and this combination is not permitted when GTIDs are enabled. Cân nhắc về hiệu suất và khả năng mở rộng
2 Ưu điểm bao gồm sự tiện lợi và linh hoạt của việc xem hoặc thậm chí chỉnh sửa đầu ra trước khi khôi phục. Bạn có thể sao chép cơ sở dữ liệu để phát triển và làm việc DBA hoặc tạo ra các biến thể nhỏ của cơ sở dữ liệu hiện có để thử nghiệm. Nó không được dự định là một giải pháp nhanh chóng hoặc có thể mở rộng để sao lưu một lượng dữ liệu đáng kể. Với kích thước dữ liệu lớn, ngay cả khi bước sao lưu mất thời gian hợp lý, việc khôi phục dữ liệu có thể rất chậm vì phát lại các câu lệnh SQL liên quan đến I/O đĩa để chèn, tạo chỉ mục, v.v.Để sao lưu và khôi phục quy mô lớn, bản sao lưu vật lý phù hợp hơn, để sao chép các tệp dữ liệu ở định dạng ban đầu để chúng có thể được khôi phục nhanh chóng. Nếu các bảng của bạn chủ yếu là bảng 3 hoặc nếu bạn có hỗn hợp các bảng 3 và 5, hãy xem xét sử dụng MySQLBackup, có sẵn như là một phần của MySQL Enterprise. Công cụ này cung cấp hiệu suất cao cho các bản sao lưu 3 với sự gián đoạn tối thiểu; Nó cũng có thể sao lưu các bảng từ 5 và các công cụ lưu trữ khác; Nó cũng cung cấp một số tùy chọn thuận tiện để phù hợp với các kịch bản sao lưu khác nhau. Xem Phần & NBSP; 30.2, Tổng quan về bản sao lưu doanh nghiệp của MySQL.mysqlbackup, which is available as part of MySQL Enterprise. This tool provides high performance for 3 backups with minimal disruption; it can also back up tables from 5 and other storage engines; it also provides a number of convenient options to accommodate different backup scenarios.
See Section 30.2, “MySQL Enterprise Backup Overview”. MySQLDump có thể truy xuất và đổ các nội dung bảng theo từng hàng hoặc nó có thể lấy toàn bộ nội dung từ bảng và đệm nó trong bộ nhớ trước khi bỏ nó. Bộ đệm trong bộ nhớ có thể là một vấn đề nếu bạn đang bán các bảng lớn. Để kết xuất các bảng theo từng hàng, hãy sử dụng tùy chọn 8 option (or 9, which enables
8). The 9 option (and hence 8) is enabled by default, so to enable memory buffering, use
3. Nếu bạn đang sử dụng phiên bản MySQLDUMP gần đây để tạo một kết xuất được tải lại vào máy chủ MySQL rất cũ, hãy sử dụng tùy chọn 4 thay vì tùy chọn 9 hoặc 6.mysqldump to generate a dump to be reloaded into a very old MySQL server, use the
4 option instead of the 9 or 6 option. Để biết thêm thông tin về MySQLDUMP, hãy xem Phần & NBSP; 7.4, sử dụng MySQLDUMP cho các bản sao lưu.mysqldump, see Section 7.4, “Using mysqldump for Backups”. Cú pháp gọiNói chung, có ba cách để sử dụng MySQLDump, để kết xuất một bộ một hoặc nhiều bảng, một bộ của một hoặc nhiều cơ sở dữ liệu hoàn chỉnh hoặc toàn bộ máy chủ MySQL như được hiển thị ở đây:mysqldump—in order to dump a set of one or more tables, a set of one or more complete databases, or an entire MySQL server—as shown here:
Để đổ toàn bộ cơ sở dữ liệu, không đặt tên cho bất kỳ bảng nào sau 7 hoặc sử dụng tùy chọn 8 hoặc 9.Để xem danh sách các tùy chọn, phiên bản MySQLDump của bạn hỗ trợ, hãy đưa ra lệnh MySQLDump 0.mysqldump supports,
issue the command mysqldump 0. Tùy chọn Cú pháp - Tóm tắt theo thứ tự bảng chữ cái
MySQLDump hỗ trợ các tùy chọn sau, có thể được chỉ định trên dòng lệnh hoặc trong các nhóm 1 and 2 groups of an option file. For information about option files used by MySQL programs, see
Section 4.2.2.2, “Using Option Files”. Tùy chọn kết nốiLệnh MySQLDump đăng nhập vào máy chủ MySQL để trích xuất thông tin. Các tùy chọn sau đây chỉ định cách kết nối với máy chủ MySQL, trên cùng một máy hoặc hệ thống từ xa.mysqldump command logs into a MySQL server to extract information. The following options specify how to connect to the MySQL server, either on the same machine or a remote system.
Tùy chọn tùy chọnCác tùy chọn này được sử dụng để kiểm soát các tệp tùy chọn nào để đọc.
insert into temp_table select * from name_of_the_original_table;
|
Value: | Đại diện XML: |
---|---|
54 (giá trị không xác định)unknown value)
| |
61 (Chuỗi trống)empty string)
| |
61 (Chuỗi trống)string value)
| |
VÔ GIÁ TRỊmysql client when run using the
select * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
52 option also follows the preceding rules. (See
Section 4.5.1.1, “mysql Client Options”.) Đầu ra XML từ MySQLDump bao gồm không gian tên XML, như được hiển thị ở đây:mysqldump includes the XML namespace, as shown here:
$> mysqldump --xml -u root world City
1
Kabul
AFG
Kabol
1780000
...
4079
Rafah
PSE
Rafah
92020
Lọc tùy chọn
Các tùy chọn sau đây kiểm soát các loại đối tượng lược đồ nào được ghi vào tệp kết xuất: theo danh mục, chẳng hạn như kích hoạt hoặc sự kiện; theo tên, ví dụ, chọn cơ sở dữ liệu và bảng nào để đổ; hoặc thậm chí lọc các hàng từ dữ liệu bảng bằng mệnh đề
select * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
66.
9,select * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
68select * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
Hộp tất cả các bảng trong tất cả các cơ sở dữ liệu. Điều này giống như sử dụng tùy chọn
8 và đặt tên tất cả các cơ sở dữ liệu trên dòng lệnh.select * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
Trước MySQL 8.0, các tùy chọn
70 vàselect * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
71 cho MySQLDump và MySQLPump không bắt buộc phải bao gồm các thói quen và sự kiện được lưu trữ khi sử dụng tùy chọnselect * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
9: DUNT định nghĩa. Kể từ MySQL 8.0, các bảngselect * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
75 vàselect * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
74 không được sử dụng. Các định nghĩa cho các đối tượng tương ứng được lưu trữ trong các bảng từ điển dữ liệu, nhưng các bảng đó không được bỏ. Để bao gồm các thói quen và sự kiện được lưu trữ trong một bãi rác được thực hiện bằngselect * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
9, hãy sử dụng các tùy chọnselect * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
70 vàselect * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
71 một cách rõ ràng.mysqldump and mysqlpump were not required to include stored routines and events when using theselect * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
9 option: The dump included theselect * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
59 system database, and therefore also theinsert into temp_table select * from name_of_the_original_table;
74 andselect * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
75 tables containing stored routine and event definitions. As of MySQL 8.0, theselect * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
75 andselect * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
74 tables are not used. Definitions for the corresponding objects are stored in data dictionary tables, but those tables are not dumped. To include stored routines and events in a dump made usingselect * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
9, use theselect * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
70 andselect * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
71 options explicitly.select * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
8,select * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
82select * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
Đổ một số cơ sở dữ liệu. Thông thường, MySQLDump coi đối số tên đầu tiên trên dòng lệnh là tên cơ sở dữ liệu và tên sau làm tên bảng. Với tùy chọn này, nó coi tất cả các đối số tên là tên cơ sở dữ liệu. Các câu lệnh
55 vàinsert into temp_table select * from name_of_the_original_table;
84 được bao gồm trong đầu ra trước mỗi cơ sở dữ liệu mới.mysqldump treats the first name argument on the command line as a database name and following names as table names. With this option, it treats all name arguments as database names.select * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
55 andinsert into temp_table select * from name_of_the_original_table;
84 statements are included in the output before each new database.select * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
Tùy chọn này có thể được sử dụng để đổ cơ sở dữ liệu
85, thông thường không được bỏ ngay cả với tùy chọnselect * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
9. (Cũng sử dụng tùy chọnselect * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
87.)select * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
71,select * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
89select * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
Bao gồm các sự kiện Lập lịch sự kiện cho cơ sở dữ liệu bị đổ trong đầu ra. Tùy chọn này yêu cầu các đặc quyền
90 cho các cơ sở dữ liệu đó.select * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
Đầu ra được tạo bằng cách sử dụng
71 chứa các câu lệnhselect * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
92 để tạo các sự kiện.select * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
93select * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
Bỏ qua các lỗi được chỉ định. Giá trị tùy chọn là danh sách các số lỗi được phân tách bằng dấu phẩy chỉ định các lỗi bỏ qua trong quá trình thực thi mysqldump. Nếu tùy chọn
13 cũng được đưa ra để bỏ qua tất cả các lỗi,alter table temp_table drop column somecolumn;
13 sẽ được ưu tiên.mysqldump execution. If thealter table temp_table drop column somecolumn;
13 option is also given to ignore all errors,alter table temp_table drop column somecolumn;
13 takes precedence.alter table temp_table drop column somecolumn;
96select * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
Không đổ bảng đã cho, phải được chỉ định bằng cả tên cơ sở dữ liệu và bảng. Để bỏ qua nhiều bảng, sử dụng tùy chọn này nhiều lần. Tùy chọn này cũng có thể được sử dụng để bỏ qua chế độ xem.
97,select * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
98select * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
Không viết bất kỳ thông tin hàng bảng nào (nghĩa là không kết xuất nội dung bảng). Điều này rất hữu ích nếu bạn muốn chỉ kết xuất câu lệnh
70 cho bảng (ví dụ: để tạo một bản sao trống của bảng bằng cách tải tệp kết xuất).insert into temp_table select * from name_of_the_original_table;
70,select * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
01mysqldump [options] > dump.sql
Bao gồm các thói quen được lưu trữ (quy trình và chức năng) cho cơ sở dữ liệu bị bỏ trong đầu ra. Tùy chọn này yêu cầu đặc quyền toàn cầu.
Đầu ra được tạo ra bằng cách sử dụng
70 chứa các câu lệnhselect * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
04 vàmysqldump [options] > dump.sql
05 để tạo các thói quen.mysqldump [options] > dump.sql
06mysqldump [options] > dump.sql
Tùy chọn này có sẵn bắt đầu với MySQL 8.0.30 và khiến các khóa chính vô hình được tạo ra được loại trừ khỏi đầu ra. Để biết thêm thông tin, xem Phần & NBSP; 13.1.20.11, đã tạo ra các khóa chính vô hình.
07mysqldump [options] > dump.sql
Ghi đè tùy chọn
8 hoặcselect * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
82. MySQLDump coi tất cả các đối số tên theo tùy chọn dưới dạng tên bảng.mysqldump regards all name arguments following the option as table names.select * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
10mysqldump [options] > dump.sql
Bao gồm các kích hoạt cho mỗi bảng bị đổ trong đầu ra. Tùy chọn này được kích hoạt theo mặc định; Vô hiệu hóa nó với
11.mysqldump [options] > dump.sql
Để có thể đổ các bộ kích hoạt của bảng, bạn phải có đặc quyền
2 cho bảng.alter table temp_table drop column somecolumn;
Nhiều kích hoạt được cho phép. MySQLDump kết xuất các kích hoạt theo thứ tự kích hoạt để khi tệp kết xuất được tải lại, các kích hoạt được tạo theo cùng một thứ tự kích hoạt. Tuy nhiên, nếu tệp kết xuất MySQLDump chứa nhiều trình kích hoạt cho một bảng có cùng sự kiện và thời gian hành động, một lỗi xảy ra đối với các cố gắng tải tệp kết xuất vào một máy chủ cũ không hỗ trợ nhiều trình kích hoạt. .mysqldump dumps triggers in activation order so that when the dump file is reloaded, triggers are created in the same activation order. However, if a mysqldump dump file contains multiple triggers for a table that have the same trigger event and action time, an error occurs for attempts to load the dump file into an older server that does not support multiple triggers. (For a workaround, see Downgrade Notes; you can convert triggers to be compatible with older servers.)
13 ',mysqldump [options] > dump.sql
14'mysqldump [options] > dump.sql
Chỉ kết xuất các hàng được chọn bởi điều kiện
66 đã cho. Báo giá xung quanh điều kiện là bắt buộc nếu nó chứa khoảng trắng hoặc các ký tự khác đặc biệt đối với trình thông dịch lệnh của bạn.select * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
Ví dụ:
0insert into temp_table select * from name_of_the_original_table;
Tùy chọn hiệu suất
Các tùy chọn sau đây phù hợp nhất cho hiệu suất đặc biệt là các hoạt động khôi phục. Đối với các bộ dữ liệu lớn, khôi phục hoạt động (xử lý các câu lệnh
insert into temp_table select * from name_of_the_original_table;
92 trong tệp kết xuất) là phần tốn nhiều thời gian nhất. Khi khẩn cấp khôi phục dữ liệu nhanh chóng, hãy lập kế hoạch và kiểm tra hiệu suất của giai đoạn này trước. Đối với thời gian khôi phục được đo bằng giờ, bạn có thể thích một giải pháp sao lưu và khôi phục thay thế, chẳng hạn như sao lưu doanh nghiệp MySQL cho cơ sở dữ liệu sử dụng hỗn hợp và chỉ sử dụng hỗn hợp.Hiệu suất cũng bị ảnh hưởng bởi các tùy chọn giao dịch, chủ yếu cho hoạt động kết xuất.
18mysqldump [options] > dump.sql
Thêm các câu lệnh
19 vào đầu ra để tạo số liệu thống kê biểu đồ cho các bảng đã bỏ khi tệp kết xuất được tải lại. Tùy chọn này bị tắt theo mặc định vì tạo biểu đồ cho các bảng lớn có thể mất nhiều thời gian.mysqldump [options] > dump.sql
20,mysqldump [options] > dump.sql
21mysqldump [options] > dump.sql
Đối với mỗi bảng, hãy bao quanh các câu lệnh
92 với các khóa vô hiệu hóainsert into temp_table select * from name_of_the_original_table;
23 */; vàmysqldump [options] > dump.sql
23 Kích hoạt khóa */; các câu lệnh. Điều này làm cho việc tải tệp kết xuất nhanh hơn vì các chỉ mục được tạo sau khi tất cả các hàng được chèn. Tùy chọn này chỉ có hiệu quả đối với các chỉ mục không liên quan của bảngmysqldump [options] > dump.sql
5.mysqldump -u
-p databasename temp_table
6,select * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
27mysqldump [options] > dump.sql
Viết các câu lệnh
92 sử dụng cú pháp nhiều hàng bao gồm một số danh sáchinsert into temp_table select * from name_of_the_original_table;
29. Điều này dẫn đến một tệp kết xuất nhỏ hơn và tăng tốc độ chèn khi tệp được tải lại.mysqldump [options] > dump.sql
30mysqldump [options] > dump.sql
Viết các câu lệnh
31 thay vì các câu lệnhmysqldump [options] > dump.sql
92.insert into temp_table select * from name_of_the_original_table;
33mysqldump [options] > dump.sql
Kích thước tối đa của bộ đệm cho giao tiếp máy khách/máy chủ. Mặc định là 24MB, tối đa là 1GB.
Ghi chú
Giá trị của tùy chọn này là dành riêng cho MySQLDump và không nên nhầm lẫn với biến hệ thống
34 của máy chủ MySQL; Giá trị máy chủ không thể vượt quá bởi một gói duy nhất từ MySQLDump, bất kể cài đặt nào cho tùy chọn MySQLDump, ngay cả khi phần sau lớn hơn.mysqldump and should not be confused with the MySQL server'smysqldump [options] > dump.sql
34 system variable; the server value cannot be exceeded by a single packet from mysqldump, regardless of any setting for the mysqldump option, even if the latter is larger.mysqldump [options] > dump.sql
35mysqldump [options] > dump.sql
Đặt giá trị phiên của biến hệ thống
36. Sử dụng tùy chọn này, có sẵn từ MySQL 8.0.30, nếu bạn muốn tăng thời gian cho phép cho các truy vấn MySQLDump, trước khi chúng được đăng nhập vào tệp nhật ký truy vấn chậm. MySQLDump thực hiện quét bảng đầy đủ, điều đó có nghĩa là các truy vấn của nó thường có thể vượt quá cài đặtmysqldump [options] > dump.sql
36 toàn cầu hữu ích cho các truy vấn thông thường. Cài đặt toàn cầu mặc định là 10 giây.mysqldump’s queries before they are logged to the slow query log file. mysqldump performs a full table scan, which means its queries can often exceed a globalmysqldump [options] > dump.sql
36 setting that is useful for regular queries. The default global setting is 10 seconds.mysqldump [options] > dump.sql
Bạn có thể sử dụng
38 để chỉ định giá trị phiên từ 0 (có nghĩa là mọi truy vấn từ MySQLDump được ghi vào nhật ký truy vấn chậm) đến 31536000, là 365 ngày tính bằng giây. Đối với tùy chọn MySQLDump, bạn chỉ có thể chỉ định toàn bộ giây. Khi bạn không chỉ định tùy chọn này, cài đặt toàn cầu của máy chủ áp dụng cho các truy vấn của MySQLDump.mysqldump is logged to the slow query log) to 31536000, which is 365 days in seconds. For mysqldump’s option, you can only specify whole seconds. When you do not specify this option, the server’s global setting applies to mysqldump’s queries.mysqldump [options] > dump.sql
39mysqldump [options] > dump.sql
Kích thước ban đầu của bộ đệm cho giao tiếp máy khách/máy chủ. Khi tạo các câu lệnh
92 nhiều hàng (như với tùy chọninsert into temp_table select * from name_of_the_original_table;
6 hoặcselect * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
9), MySQLDump sẽ tạo các hàng lên đếnmysqldump -u
-p databasename temp_table
43 byte dài. Nếu bạn tăng biến này, hãy đảm bảo rằng biến hệ thống MySQL Servermysqldump [options] > dump.sql
44 có giá trị ít nhất là lớn như vậy.mysqldump creates rows up tomysqldump [options] > dump.sql
43 bytes long. If you increase this variable, ensure that the MySQL servermysqldump [options] > dump.sql
44 system variable has a value at least this large.mysqldump [options] > dump.sql
45,mysqldump [options] > dump.sql
46mysqldump [options] > dump.sql
Bật các bảng lớn được đổ bằng cách đặt
47 thành giá trị tối đa và thời gian ghi và ghi mạng tối đa của nó thành một giá trị lớn. Tùy chọn này được kích hoạt theo mặc định. Để vô hiệu hóa nó, sử dụngmysqldump [options] > dump.sql
48.mysqldump [options] > dump.sql
9mysqldump -u
-p databasename temp_table Tùy chọn này, được bật theo mặc định, là cách viết tắt cho sự kết hợp của
68insert into temp_table select * from name_of_the_original_table;
51mysqldump [options] > dump.sql
93mysqldump -u
-p databasename temp_table
20mysqldump [options] > dump.sql
6select * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
23mysqldump -u
-p databasename temp_table
8mysqldump -u
-p databasename temp_table
34. Nó cung cấp một hoạt động kết xuất nhanh và tạo một tệp kết xuất có thể được tải lại vào máy chủ MySQL một cách nhanh chóng.alter table temp_table drop column somecolumn;
Vì tùy chọn
9 được bật theo mặc định, bạn chỉ chỉ định đối nghịch của nó,mysqldump -u
-p databasename temp_table
4 để tắt một số cài đặt mặc định. Xem cuộc thảo luận của các nhóm tùy chọnselect * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
2 để biết thông tin về việc cho phép hoặc vô hiệu hóa một tập hợp con của các tùy chọn bị ảnh hưởng bởimysqldump -u
-p databasename temp_table
9.mysqldump -u
-p databasename temp_table
8,mysqldump -u
-p databasename temp_table
63mysqldump [options] > dump.sql
Tùy chọn này rất hữu ích để bán các bảng lớn. Nó buộc MySQLDump phải lấy hàng cho một bảng từ máy chủ một hàng một lần thay vì truy xuất toàn bộ bộ hàng và đệm nó trong bộ nhớ trước khi viết nó ra.mysqldump to retrieve rows for a table from the server a row at a time rather than retrieving the entire row set and buffering it in memory before writing it out.
4select * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
Xem mô tả cho tùy chọn
9.mysqldump -u
-p databasename temp_table
Tùy chọn giao dịch
Các tùy chọn sau đây đánh đổi hiệu suất của hoạt động kết xuất, so với độ tin cậy và tính nhất quán của dữ liệu được xuất.
51mysqldump [options] > dump.sql
Bao quanh mỗi lần kết xuất bảng với các câu lệnh
67 vàmysqldump [options] > dump.sql
68. Điều này dẫn đến việc chèn nhanh hơn khi tệp kết xuất được tải lại. Xem Phần & NBSP; 8.2.5.1, Tối ưu hóa các câu lệnh chèn.mysqldump [options] > dump.sql
69,mysqldump [options] > dump.sql
70mysqldump [options] > dump.sql
Xóa các tệp nhật ký máy chủ MySQL trước khi bắt đầu kết xuất. Tùy chọn này yêu cầu đặc quyền
54. Nếu bạn sử dụng tùy chọn này kết hợp với tùy chọnalter table temp_table drop column somecolumn;
9, các nhật ký sẽ được xóa cho mỗi cơ sở dữ liệu được bỏ. Ngoại lệ là khi sử dụngselect * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
24,mysqldump -u
-p databasename temp_table
55 hoặcalter table temp_table drop column somecolumn;
56 hoặcalter table temp_table drop column somecolumn;
4. Trong những trường hợp này, các bản ghi chỉ được xả một lần, tương ứng với thời điểm tất cả các bảng bị khóa bởialter table temp_table drop column somecolumn;
77. Nếu bạn muốn bãi rác của mình và nhật ký xả xảy ra vào cùng một thời điểm, bạn nên sử dụngmysqldump [options] > dump.sql
69 cùng vớimysqldump [options] > dump.sql
24,mysqldump -u
-p databasename temp_table
55 hoặcalter table temp_table drop column somecolumn;
56 hoặcalter table temp_table drop column somecolumn;
4.for each database dumped. The exception is when usingalter table temp_table drop column somecolumn;
24,mysqldump -u
-p databasename temp_table
55 oralter table temp_table drop column somecolumn;
56, oralter table temp_table drop column somecolumn;
4. In these cases, the logs are flushed only once, corresponding to the moment that all tables are locked byalter table temp_table drop column somecolumn;
77. If you want your dump and the log flush to happen at exactly the same moment, you should usemysqldump [options] > dump.sql
69 together withmysqldump [options] > dump.sql
24,mysqldump -u
-p databasename temp_table
55 oralter table temp_table drop column somecolumn;
56, oralter table temp_table drop column somecolumn;
4.alter table temp_table drop column somecolumn;
83mysqldump [options] > dump.sql
Thêm câu lệnh
84 vào đầu ra kết xuất sau khi bỏ cơ sở dữ liệumysqldump [options] > dump.sql
59. Tùy chọn này nên được sử dụng bất cứ khi nào bãi rác chứa cơ sở dữ liệuinsert into temp_table select * from name_of_the_original_table;
59 và bất kỳ cơ sở dữ liệu nào khác phụ thuộc vào dữ liệu trong cơ sở dữ liệuinsert into temp_table select * from name_of_the_original_table;
59 để phục hồi thích hợp.insert into temp_table select * from name_of_the_original_table;
Vì tệp kết xuất chứa câu lệnh
88, việc tải lại tệp đòi hỏi các đặc quyền đủ để thực thi câu lệnh đó.mysqldump [options] > dump.sql
24,mysqldump -u
-p databasename temp_table
90mysqldump [options] > dump.sql
Khóa tất cả các bảng trên tất cả các cơ sở dữ liệu. Điều này đạt được bằng cách có được một khóa đọc toàn cầu trong suốt thời gian của toàn bộ bãi rác. Tùy chọn này tự động tắt
4 vàalter table temp_table drop column somecolumn;
23.mysqldump -u
-p databasename temp_table
23,mysqldump -u
-p databasename temp_table
94mysqldump [options] > dump.sql
Đối với mỗi cơ sở dữ liệu bị đổ, khóa tất cả các bảng sẽ được đổ trước khi đổ chúng. Các bảng được khóa với
95 để cho phép chèn đồng thời trong trường hợp bảngmysqldump [options] > dump.sql
5. Đối với các bảng giao dịch nhưmysqldump -u
-p databasename temp_table
3,mysqldump -u
-p databasename temp_table
4 là một lựa chọn tốt hơn nhiều so vớialter table temp_table drop column somecolumn;
23 vì nó không cần phải khóa các bảng.mysqldump -u
-p databasename temp_table Bởi vì
23 Khóa các bảng cho từng cơ sở dữ liệu một cách riêng biệt, tùy chọn này không đảm bảo rằng các bảng trong tệp kết xuất phù hợp về mặt logic giữa các cơ sở dữ liệu. Các bảng trong các cơ sở dữ liệu khác nhau có thể được đổ ở các trạng thái hoàn toàn khác nhau.mysqldump -u
-p databasename temp_table Một số tùy chọn, chẳng hạn như
9, tự động bậtmysqldump -u
-p databasename temp_table
23. Nếu bạn muốn ghi đè này, hãy sử dụngmysqldump -u
-p databasename temp_table
87 ở cuối danh sách tùy chọn.select * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
04mysqldump [options] --result-file=dump.sql
Kèm theo các câu lệnh
92 cho mỗi bảng bị bỏ trong các câu lệnhinsert into temp_table select * from name_of_the_original_table;
06 vàmysqldump [options] --result-file=dump.sql
07.mysqldump [options] --result-file=dump.sql
08mysqldump [options] --result-file=dump.sql
Kết xuất mỗi hàng của mỗi bảng được sắp xếp theo khóa chính của nó hoặc bởi chỉ mục duy nhất đầu tiên của nó, nếu một chỉ mục như vậy tồn tại. Điều này rất hữu ích khi bán một bảng
5 để được tải vào bảngmysqldump -u
-p databasename temp_table
3, nhưng làm cho hoạt động kết xuất mất nhiều thời gian hơn.mysqldump -u
-p databasename temp_table
11mysqldump [options] --result-file=dump.sql
Trên Windows, tên bộ nhớ dùng chung để sử dụng cho các kết nối được tạo bằng bộ nhớ chia sẻ cho máy chủ cục bộ. Giá trị mặc định là
12. Tên bộ nhớ chia sẻ là nhạy cảm trường hợp.mysqldump [options] --result-file=dump.sql
Tùy chọn này chỉ áp dụng nếu máy chủ được bắt đầu với biến hệ thống
13 được kích hoạt để hỗ trợ các kết nối bộ nhớ chia sẻ.mysqldump [options] --result-file=dump.sql
4alter table temp_table drop column somecolumn;
Tùy chọn này đặt chế độ cách ly giao dịch thành
15 và gửi câu lệnhmysqldump [options] --result-file=dump.sql
16 SQL đến máy chủ trước khi bỏ dữ liệu. Nó chỉ hữu ích với các bảng giao dịch nhưmysqldump [options] --result-file=dump.sql
3, bởi vì sau đó nó sẽ bỏ trạng thái nhất quán của cơ sở dữ liệu tại thời điểmmysqldump -u
-p databasename temp_table
16 được phát hành mà không chặn bất kỳ ứng dụng nào.mysqldump [options] --result-file=dump.sql
Khi sử dụng tùy chọn này, bạn nên nhớ rằng chỉ có các bảng
3 được đổ ở trạng thái nhất quán. Ví dụ: bất kỳ bảngmysqldump -u
-p databasename temp_table
5 hoặcmysqldump -u
-p databasename temp_table
21 nào bị bỏ trong khi sử dụng tùy chọn này vẫn có thể thay đổi trạng thái.mysqldump [options] --result-file=dump.sql
Mặc dù kết xuất
4 đang được xử lý, để đảm bảo tệp kết xuất hợp lệ (nội dung bảng chính xác và tọa độ nhật ký nhị phân), không có kết nối nào khác nên sử dụng các câu lệnh sau:alter table temp_table drop column somecolumn;
23,mysqldump [options] --result-file=dump.sql
70,insert into temp_table select * from name_of_the_original_table;
69,insert into temp_table select * from name_of_the_original_table;
26,mysqldump [options] --result-file=dump.sql
27. Một lần đọc nhất quán không được phân lập với các câu lệnh đó, vì vậy việc sử dụng chúng trên bảng để được đổ có thể gây ramysqldump [options] --result-file=dump.sql
0 được MySQLDump thực hiện để truy xuất nội dung bảng để có được nội dung không chính xác hoặc không thành công.mysqldump to retrieve the table contents to obtain incorrect contents or fail.alter table temp_table drop column somecolumn;
Tùy chọn
4 và tùy chọnalter table temp_table drop column somecolumn;
23 là loại trừ lẫn nhau vìmysqldump -u
-p databasename temp_table
67 gây ra bất kỳ giao dịch đang chờ xử lý nào được thực hiện ngầm.mysqldump [options] > dump.sql
Sử dụng
4 cùng với tùy chọnalter table temp_table drop column somecolumn;
39 không được khuyến nghị; Làm như vậy có thể dẫn đến sự không nhất quán trong đầu ra của mysqldump.mysqldump.mysqldump -u
-p databasename temp_table Để đổ các bảng lớn, kết hợp tùy chọn
4 với tùy chọnalter table temp_table drop column somecolumn;
8.mysqldump -u
-p databasename temp_table
Nhóm tùy chọn
Tùy chọn
9 bật một số cài đặt hoạt động cùng nhau để thực hiện thao tác kết xuất nhanh. Tất cả các cài đặt này được bật theo mặc định, vìmysqldump -u
-p databasename temp_table
9 được bật theo mặc định. Do đó, bạn hiếm khi chỉ địnhmysqldump -u
-p databasename temp_table
9. Thay vào đó, bạn có thể tắt các cài đặt này thành một nhóm bằng cách chỉ địnhmysqldump -u
-p databasename temp_table
4, sau đó tùy chọn kích hoạt lại một số cài đặt nhất định bằng cách chỉ định các tùy chọn được liên kết sau này trên dòng lệnh.select * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
Tùy chọn
82 tắt một số cài đặt kiểm soát xem các câu lệnh và nhận xét tùy chọn có xuất hiện trong đầu ra hay không. Một lần nữa, bạn có thể làm theo tùy chọn này với các tùy chọn khác để kích hoạt lại một số cài đặt nhất định hoặc bật tất cả các cài đặt bằng cách sử dụng biểu mẫumysqldump -u
-p databasename temp_table
41.mysqldump [options] --result-file=dump.sql
Khi bạn có chọn lọc hoặc vô hiệu hóa hiệu ứng của tùy chọn nhóm, đơn hàng rất quan trọng vì các tùy chọn được xử lý trước tiên để kéo dài. Ví dụ,
mysqldump [options] > dump.sql
20 mysqldump -u -p databasename temp_table
23 select * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
4 sẽ không có tác dụng dự định; Nó giống như select * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
4 của chính nó.Ví dụ
Để tạo bản sao lưu toàn bộ cơ sở dữ liệu:
insert into temp_table select * from name_of_the_original_table;
1Để tải tệp kết xuất trở lại máy chủ:
insert into temp_table select * from name_of_the_original_table;
2Một cách khác để tải lại tệp kết xuất:
insert into temp_table select * from name_of_the_original_table;
3MySQLDump cũng rất hữu ích cho việc điền cơ sở dữ liệu bằng cách sao chép dữ liệu từ máy chủ MySQL này sang máy chủ khác: is also very useful for populating databases by copying data from one MySQL server to another:
insert into temp_table select * from name_of_the_original_table;
4Bạn có thể đổ một số cơ sở dữ liệu bằng một lệnh:
insert into temp_table select * from name_of_the_original_table;
5Để đổ tất cả các cơ sở dữ liệu, hãy sử dụng tùy chọn
select * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
9:insert into temp_table select * from name_of_the_original_table;
6Đối với các bảng
mysqldump -u -p databasename temp_table
3, MySQLDump cung cấp một cách tạo bản sao lưu trực tuyến:mysqldump provides a way of making an online backup: insert into temp_table select * from name_of_the_original_table;
7Bản sao lưu này có được khóa đọc toàn cầu trên tất cả các bảng (sử dụng
mysqldump [options] > dump.sql
77) khi bắt đầu kết xuất. Ngay khi khóa này đã được thu thập, tọa độ nhật ký nhị phân được đọc và khóa được phát hành. Nếu các câu lệnh cập nhật dài đang chạy khi câu lệnh mysqldump [options] --result-file=dump.sql
49 được phát hành, máy chủ MySQL có thể bị đình trệ cho đến khi các câu lệnh đó kết thúc. Sau đó, bãi rác trở nên không có khóa và không làm phiền đọc và ghi trên các bảng. Nếu các câu lệnh cập nhật mà máy chủ MySQL nhận được là ngắn (về thời gian thực hiện), thời gian khóa ban đầu sẽ không được chú ý, ngay cả với nhiều bản cập nhật.Để phục hồi thời gian (còn được gọi là Roll Roll-Porward, khi bạn cần khôi phục bản sao lưu cũ và phát lại những thay đổi xảy ra kể từ bản sao lưu đó), thường rất hữu ích khi xoay nhật ký nhị phân (xem Phần & NBSP; 5.4 .4, Nhật ký nhật ký nhị phân) hoặc ít nhất là biết các tọa độ nhật ký nhị phân mà kết xuất tương ứng:“roll-forward,” when you need to restore an old backup and replay the changes that happened since that backup), it is often useful to rotate the binary log (see Section 5.4.4, “The Binary Log”) or at least know the binary log coordinates to which the dump corresponds:
insert into temp_table select * from name_of_the_original_table;
8Hoặc:
insert into temp_table select * from name_of_the_original_table;
9Tùy chọn
alter table temp_table drop column somecolumn;
55 hoặc alter table temp_table drop column somecolumn;
56 có thể được sử dụng đồng thời với tùy chọn alter table temp_table drop column somecolumn;
4, cung cấp một cách thuận tiện để tạo bản sao lưu trực tuyến phù hợp để sử dụng trước khi phục hồi thời gian nếu các bảng được lưu trữ bằng công cụ lưu trữ mysqldump -u -p databasename temp_table
3.Để biết thêm thông tin về việc thực hiện sao lưu, xem Phần & NBSP; 7.2, Phương thức sao lưu cơ sở dữ liệu, và Phần & NBSP; 7.3, Sao lưu ví dụ và chiến lược phục hồi.
Để chọn hiệu ứng của
9 ngoại trừ một số tính năng, hãy sử dụng tùy chọnmysqldump -u
-p databasename temp_table
55 cho mỗi tính năng. Để vô hiệu hóa các chèn mở rộng và bộ đệm bộ nhớ, sử dụngmysqldump [options] --result-file=dump.sql
9mysqldump -u
-p databasename temp_table
57mysqldump [options] --result-file=dump.sql
3. (Trên thực tế,select * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
57mysqldump [options] --result-file=dump.sql
3 là đủ vìselect * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
9 được bật theo mặc định.)mysqldump -u
-p databasename temp_table Để đảo ngược
9 cho tất cả các tính năng ngoại trừ vô hiệu hóa các chỉ mục và khóa bảng, hãy sử dụngmysqldump -u
-p databasename temp_table
4select * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
20mysqldump [options] > dump.sql
23.mysqldump -u
-p databasename temp_table
Những hạn chế
MySQLDump không bỏ vào lược đồ
85 hoặc select * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
67 theo mặc định. Để đổ bất kỳ trong số này, hãy đặt tên cho chúng một cách rõ ràng trên dòng lệnh. Bạn cũng có thể đặt tên cho chúng với tùy chọn mysqldump [options] --result-file=dump.sql
8. Đối với select * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
85, cũng sử dụng tùy chọn select * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
87. does not dump the select * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
select * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
85 or mysqldump [options] --result-file=dump.sql
67 schema by default. To dump any of these, name them explicitly on the command line. You can also name them with the select * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
8 option. For select * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
85, also use the
select * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
87 option. MySQLDump không bỏ vào lược đồ
71. does not dump the mysqldump [options] --result-file=dump.sql
mysqldump [options] --result-file=dump.sql
71 schema.
MySQLDump không bỏ các câu
3 mysqldump -u
73. does not dump mysqldump [options] --result-file=dump.sql
mysqldump -u -p databasename temp_table
3 mysqldump [options] --result-file=dump.sql
73 statements.
MySQLDump không đổ cơ sở dữ liệu thông tin NDB
74. does not dump the NDB Cluster mysqldump [options] --result-file=dump.sql
mysqldump [options] --result-file=dump.sql
74 information database. MySQLDump bao gồm các câu lệnh để tạo lại các bảng
75 và mysqldump [options] --result-file=dump.sql
76 cho các kết xuất của cơ sở dữ liệu mysqldump [options] --result-file=dump.sql
59. Nội dung bảng nhật ký không được bỏ. includes statements to recreate the insert into temp_table select * from name_of_the_original_table;
mysqldump [options] --result-file=dump.sql
75 and mysqldump [options] --result-file=dump.sql
76 tables for dumps of the insert into temp_table select * from name_of_the_original_table;
59 database. Log table contents are not dumped. Nếu bạn gặp phải vấn đề sao lưu các lượt xem do không đủ các đặc quyền, xem Phần & NBSP; 25.9, hạn chế về chế độ xem đối với một cách giải quyết.