mysqldump - Trực tuyến trên đám mây

Đây là lệnh mysqldump có thể chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình giả lập trực tuyến MAC OS

CHƯƠNG TRÌNH:

TÊN


mysqldump - một chương trình sao lưu cơ sở dữ liệu

SYNOPSIS


mysqldump [lựa chọn] [db_name [tbl_name ...]]

MÔ TẢ


mysqldump client là một chương trình sao lưu ban đầu được viết bởi Igor Romanenko. Nó có thể
được sử dụng để kết xuất cơ sở dữ liệu hoặc tập hợp cơ sở dữ liệu để sao lưu hoặc chuyển sang SQL khác
máy chủ (không nhất thiết phải là máy chủ MariaDB). Kết xuất thường chứa các câu lệnh SQL để
tạo bảng, điền bảng hoặc cả hai. Tuy vậy, mysqldump cũng có thể được sử dụng để tạo
tệp ở dạng CSV, văn bản được phân tách khác hoặc định dạng XML.

Nếu bạn đang thực hiện sao lưu trên máy chủ và tất cả các bảng của bạn đều là bảng MyISAM, hãy xem xét
bằng cách sử dụng sao chép mysql thay vào đó vì nó có thể thực hiện sao lưu nhanh hơn và nhanh hơn
phục hồi. Nhìn thấy sao chép mysql(1).

Có ba cách chung để gọi mysqldump:

vỏ> mysqldump [lựa chọn] db_name [tbl_name ...]
vỏ> mysqldump [lựa chọn] --cơ sở dữ liệu db_name ...
vỏ> mysqldump [lựa chọn] - cơ sở dữ liệu tất cả

Nếu bạn không đặt tên cho bất kỳ bảng nào sau đây db_name hoặc nếu bạn sử dụng --cơ sở dữ liệu or
- cơ sở dữ liệu tất cả tùy chọn, toàn bộ cơ sở dữ liệu được kết xuất.

mysqldump không kết xuất cơ sở dữ liệu INFORMATION_SCHEMA hoặc performance_schema theo mặc định.
Để kết xuất chúng, hãy đặt tên chúng một cách rõ ràng trên dòng lệnh, mặc dù bạn cũng phải sử dụng
--skip-lock-table tùy chọn.

Để xem danh sách các tùy chọn mà phiên bản của bạn mysqldump hỗ trợ, thực hiện mysqldump --Cứu giúp.

Một số mysqldump các tùy chọn là viết tắt cho các nhóm tùy chọn khác:

· Sử dụng --opt cũng giống như chỉ định --add-thả-bảng, --add-lock,
--tạo-tùy chọn, - phím tắt, --chèn mở rộng, - bảng khóa, --nhanh chóng
- bộ ký tự. Tất cả các tùy chọn --opt viết tắt của cũng được bật theo mặc định vì
--opt được bật theo mặc định.

· Sử dụng --gọn nhẹ cũng giống như chỉ định --skip-add-drop-table, --skip-thêm-khóa,
--skip-bình luận, --suy-tắt-phím--skip-set-bộ ký tự tùy chọn.

Để đảo ngược tác dụng của một tùy chọn nhóm, hãy sử dụng --nhảy-xxx mẫu đơn (--bỏ qua-opt or
--skip-gọn nhẹ). Cũng có thể chỉ chọn một phần tác dụng của tùy chọn nhóm
bằng cách làm theo nó với các tùy chọn bật hoặc tắt các tính năng cụ thể. Đây là một số
ví dụ:

· Để chọn hiệu ứng của --opt ngoại trừ một số tính năng, hãy sử dụng --nhảy tùy chọn cho mỗi
đặc tính. Để tắt chèn mở rộng và bộ đệm bộ nhớ, hãy sử dụng --opt
--skip-Extended-insert --skip-nhanh chóng. (Thật, --skip-Extended-insert --skip-nhanh chóng is
đủ bởi vì --opt được bật theo mặc định.)

· Để đảo ngược --opt đối với tất cả các tính năng ngoại trừ vô hiệu hóa chỉ mục và khóa bảng, hãy sử dụng
--bỏ qua-opt - phím tắt - bảng khóa.

Khi bạn bật hoặc tắt có chọn lọc hiệu ứng của một tùy chọn nhóm, thứ tự là quan trọng
bởi vì các tùy chọn được xử lý đầu tiên đến cuối cùng. Ví dụ, - phím tắt - bảng khóa
--bỏ qua-opt sẽ không có hiệu quả dự kiến; nó giống như --bỏ qua-opt bởi bản thân.

mysqldump có thể truy xuất và kết xuất nội dung bảng theo từng hàng hoặc có thể truy xuất toàn bộ
nội dung từ một bảng và đệm nó vào bộ nhớ trước khi kết xuất nó. Bộ nhớ đệm trong bộ nhớ có thể được
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 --nhanh chóng
tùy chọn (hoặc --opt, cho phép --nhanh chóng). Các --opt tùy chọn (và do đó --nhanh chóng) được kích hoạt
theo mặc định, vì vậy để kích hoạt tính năng đệm bộ nhớ, hãy sử dụng --skip-nhanh chóng.

Nếu bạn đang sử dụng phiên bản gần đây của mysqldump để tạo ra một kết xuất được tải lại vào một
máy chủ MySQL rất cũ, bạn không nên sử dụng --opt or --chèn mở rộng Lựa chọn. Sử dụng
--bỏ qua-opt thay thế.

mysqldump hỗ trợ các tùy chọn sau, có thể được chỉ định trên dòng lệnh hoặc trong
nhóm tệp tùy chọn [mysqldump] và [client]. mysqldump cũng hỗ trợ các tùy chọn cho
xử lý tệp tùy chọn.

· --Cứu giúp, -?

Hiển thị thông báo trợ giúp và thoát.

· --add-drop-cơ sở dữ liệu

Thêm câu lệnh DROP DATABASE trước mỗi câu lệnh CREATE DATABASE. Tùy chọn này là
thường được sử dụng cùng với - cơ sở dữ liệu tất cả or --cơ sở dữ liệu tùy chọn bởi vì
không có câu lệnh CREATE DATABASE nào được viết trừ khi một trong các tùy chọn đó được chỉ định.

· --add-thả-bảng

Thêm câu lệnh DROP TABLE trước mỗi câu lệnh CREATE TABLE.

· --add-lock

Bao quanh mỗi kết xuất bảng bằng các câu lệnh LOCK TABLES và UNLOCK TABLES. Kết quả này
trong các lần chèn nhanh hơn khi tệp kết xuất được tải lại.

· - cơ sở dữ liệu tất cả, -A

Kết xuất tất cả các bảng trong tất cả các cơ sở dữ liệu. Điều này cũng giống như việc sử dụng --cơ sở dữ liệu lựa chọn và
đặt tên cho tất cả các cơ sở dữ liệu trên dòng lệnh.

· - không gian toàn bảng, -Y

Thêm vào một bảng kết xuất tất cả các câu lệnh SQL cần thiết để tạo bất kỳ không gian bảng nào được sử dụng bởi
Bảng NDBCLUSTER. Thông tin này không được bao gồm trong đầu ra từ
mysqldump. Tùy chọn này hiện chỉ có liên quan đến các bảng MySQL Cluster.

· --allow-từ khóa

Cho phép tạo tên cột là từ khóa. Điều này hoạt động bằng cách thêm tiền tố vào mỗi cột
tên với tên bảng.

· --apply-slave-statement

Thêm 'STOP SLAVE' trước 'THAY ĐỔI MASTER' và 'START SLAVE' vào cuối kết xuất.

· --character-sets-dir =con đường

Thư mục nơi các bộ ký tự được cài đặt.

· --bình luận, -i

Ghi thông tin bổ sung vào tệp kết xuất như phiên bản chương trình, phiên bản máy chủ,
và máy chủ. Tùy chọn này được kích hoạt theo mặc định. Để chặn thông tin bổ sung này,
sử dụng --skip-bình luận.

· --gọn nhẹ

Sản xuất đầu ra nhỏ gọn hơn. Tùy chọn này cho phép --skip-add-drop-table,
--skip-thêm-khóa, --skip-bình luận, --suy-tắt-phím--skip-set-bộ ký tự
tùy chọn.

· - tương thích =tên

Tạo đầu ra tương thích hơn với các hệ thống cơ sở dữ liệu khác hoặc với MySQL cũ hơn
may chủ. Giá trị của tên có thể là ansi, mysql323, mysql40, postgresql, oracle, mssql,
db2, maxdb, no_key_options, no_table_options hoặc no_field_options. Để sử dụng một số
các giá trị, hãy phân tách chúng bằng dấu phẩy. Các giá trị này có cùng ý nghĩa với
các tùy chọn tương ứng để thiết lập chế độ SQL của máy chủ.

Tùy chọn này không đảm bảo khả năng tương thích với các máy chủ khác. Nó chỉ cho phép những
Các giá trị chế độ SQL hiện có sẵn để làm cho đầu ra kết xuất tương thích hơn.
Ví dụ, - tương thích = oracle không ánh xạ kiểu dữ liệu với kiểu Oracle hoặc sử dụng Oracle
cú pháp bình luận.

· --đầy đủ-chèn, -c

Sử dụng các câu lệnh CHÈN hoàn chỉnh bao gồm tên cột.

· - nén, -C

Nén tất cả thông tin được gửi giữa máy khách và máy chủ nếu cả hai đều hỗ trợ
nén.

· --tạo-tùy chọn, -a

Bao gồm tất cả các tùy chọn bảng cụ thể của MariaDB trong các câu lệnh CREATE TABLE. Sử dụng --nhảy-
tùy chọn tạo để vô hiệu hóa.

· --cơ sở dữ liệu, -B

Kết xuất một số cơ sở dữ liệu. Thông thường, mysqldump xử lý đối số tên trên
dòng lệnh dưới dạng tên cơ sở dữ liệu và các 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. TẠO CƠ SỞ DỮ LIỆU và câu lệnh SỬ DỤNG
được đưa vào đầu ra trước mỗi cơ sở dữ liệu mới.

· --debug [=debug_options], -# [debug_options]

Viết nhật ký gỡ lỗi. Khác biệt debug_options chuỗi là ´d: t: o,tên_tệp´. Các
giá trị mặc định là ´d: t: o, / tmp / mysqldump.trace´.

· --debug-kiểm tra

In một số thông tin gỡ lỗi khi chương trình thoát.

· --debug-thông tin

In thông tin gỡ lỗi và thống kê sử dụng bộ nhớ và CPU khi chương trình
lối thoát hiểm.

· --default-auth

Plugin phía máy khách xác thực mặc định để sử dụng.

· --default-character-set =tên bộ ký tự

Sử dụng tên bộ ký tự làm bộ ký tự mặc định. Nếu không có bộ ký tự nào được chỉ định,
mysqldump sử dụng utf8.

· --defaults-extra-file =tên tập tin

Thiết lập tên tập tin dưới dạng tệp để đọc các tùy chọn mặc định từ sau tệp mặc định chung
đã được đọc. Phải được đưa ra như là lựa chọn đầu tiên.

· --defaults-file =tên tập tin

Thiết lập tên tập tin dưới dạng tệp để đọc các tùy chọn mặc định, ghi đè các tệp mặc định chung.
Phải được đưa ra như là lựa chọn đầu tiên.

· hậu tố --defaults-group-=str,

Đồng thời đọc các nhóm có hậu tố là str. Ví dụ: vì mysqldump thường đọc
[client] và [mysqldump], --defaults-group-Hậu tố = x sẽ khiến nó cũng đọc
các nhóm [mysqldump_x] và [client_x].

· --dayed-insert

Viết câu lệnh CHÈN TRÌ HOÃN chứ không viết câu lệnh CHÈN.

· --delete-master-log

Trên máy chủ sao chép chính, hãy xóa nhật ký nhị phân bằng cách gửi NHẬT KÝ BINARY PURGE
câu lệnh cho máy chủ sau khi thực hiện thao tác kết xuất. Tùy chọn này tự động
cho phép --dữ liệu chủ.

· - phím tắt, -K

Đối với mỗi bảng, bao quanh các câu lệnh INSERT bằng / *! 40000 ALTER TABLE tbl_name
CÁC PHÍM TẮT * /; và / *! BẢNG ALTER 40000 tbl_name BẬT CÁC KHÓA * /; các câu lệnh. Cái này
giúp 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
đã chèn. Tùy chọn này chỉ có hiệu lực đối với các chỉ mục không đơn nhất của bảng MyISAM.

· --dump-ngày

Nếu --bình luận tùy chọn được đưa ra, mysqldump tạo ra một nhận xét ở cuối bãi chứa
có dạng sau:

- Bán phá giá hoàn thành vào NGÀY

Tuy nhiên, ngày làm cho các tệp kết xuất được thực hiện vào các thời điểm khác nhau có vẻ như
khác nhau, ngay cả khi dữ liệu giống hệt nhau. --dump-ngày--skip-dump-ngày
kiểm soát xem ngày có được thêm vào bình luận hay không. Mặc định là --dump-ngày (Bao gồm
ngày trong bình luận). --skip-dump-ngày ngăn chặn việc in ngày tháng

· --sự kiện, -E

Bao gồm các sự kiện của Trình lập lịch sự kiện cho cơ sở dữ liệu được kết xuất trong đầu ra.

· --chèn mở rộng, -e

Sử dụng cú pháp CHÈN nhiều hàng bao gồm một số danh sách GIÁ TRỊ. Đ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.

· --fields-termina-by = ..., --fields-kèm theo = ...,
--fields-tùy chọn-kèm theo = ..., --fields-Escape-by = ...

Các tùy chọn này được sử dụng với --chuyển hướng tùy chọn và có cùng ý nghĩa với
các mệnh đề FIELDS tương ứng cho LOAD DATA INFILE.

· - nô lệ đầu tiên

Đã xóa trong MariaDB 5.5. Sử dụng - khóa tất cả các bảng thay thế.

· --flush-log, -F

Xả các tệp nhật ký máy chủ MariaDB trước khi bắt đầu kết xuất. Tùy chọn này yêu cầu
Đặc quyền RELOAD. Nếu bạn sử dụng tùy chọn này kết hợp với - cơ sở dữ liệu tất cả
tùy chọn, nhật ký được xóa cho mỗi cơ sở dữ liệu đổ. Ngoại lệ là khi sử dụng
- khóa tất cả các bảng or --dữ liệu chủ: Trong trường hợp này, nhật ký chỉ được xóa một lần,
tương ứng với thời điểm tất cả các bảng bị khóa. Nếu bạn muốn bãi chứa của mình và
nhật ký tuôn ra xảy ra chính xác tại cùng một thời điểm, bạn nên sử dụng --flush-log bền vững hơn
với một trong hai - khóa tất cả các bảng or --dữ liệu chủ.

· - đặc quyền

Gửi một tuyên bố FLUSH PRIVILEGES tới máy chủ sau khi kết xuất cơ sở dữ liệu mysql. Cái này
tùy chọn nên được sử dụng bất kỳ lúc nào kết xuất chứa cơ sở dữ liệu mysql và bất kỳ
cơ sở dữ liệu phụ thuộc vào dữ liệu trong cơ sở dữ liệu mysql để khôi phục thích hợp.

· --lực lượng, -f

Tiếp tục ngay cả khi lỗi SQL xảy ra trong quá trình kết xuất bảng.

Một cách sử dụng cho tùy chọn này là gây ra mysqldump để tiếp tục thực hiện ngay cả khi nó
gặp một chế độ xem đã trở nên không hợp lệ vì định nghĩa đề cập đến một bảng
đã bị loại bỏ. Không có --lực lượng, mysqldump thoát với một thông báo lỗi. Với
--lực lượng, mysqldump in thông báo lỗi, nhưng nó cũng viết một bình luận SQL
chứa định nghĩa khung nhìn vào đầu ra kết xuất và tiếp tục thực thi.

· --gtid

Có sẵn từ MariaDB 10.0.13 và được sử dụng cùng với --dữ liệu chủ
--dump-nô lệ để thiết lập nô lệ GTID mới thuận tiện hơn. Nó khiến các tùy chọn đó
xuất ra các câu lệnh SQL cấu hình nô lệ để sử dụng ID giao dịch toàn cầu
kết nối với cái chính thay vì các vị trí bù / tên tệp kiểu cũ. Kiểu cũ
các vị trí vẫn được đưa vào bình luận khi --gtid Được sử dụng; tương tự như vậy GTID
vị trí được đưa vào nhận xét ngay cả khi --gtid Không được sử dụng.

· --hex-blob

Kết xuất các cột nhị phân bằng cách sử dụng ký hiệu thập lục phân (ví dụ: ´abc´ trở thành 0x616263).
Các loại dữ liệu bị ảnh hưởng là BINARY, VARBINARY, các loại BLOB và BIT.

· --host =tên máy chủ, -h tên máy chủ

Kết xuất dữ liệu từ máy chủ MariaDB trên máy chủ nhất định. Máy chủ lưu trữ mặc định là localhost.

· --ignore-table =db_name.tbl_name

Không kết xuất bảng đã cho, bảng này phải được chỉ định bằng cách sử dụng cả cơ sở dữ liệu và bảng
những cái tên. Để bỏ qua nhiều bảng, hãy 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 các lượt xem.

· --bao gồm-master-host-port

Thêm các tùy chọn MASTER_HOST và MASTER_PORT cho câu lệnh CHANGE MASTER TO khi
bằng cách sử dụng --dump-nô lệ tùy chọn cho một bãi chứa nô lệ.

· --chèn-bỏ qua

Viết câu lệnh INSERT IGNORE chứ không phải câu lệnh INSERT.

· --lines-termina-by = ...

Tùy chọn này được sử dụng với --chuyển hướng tùy chọn và có cùng ý nghĩa với
mệnh đề LINES tương ứng cho LOAD DATA INFILE.

· - khóa tất cả các bảng, -x

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 khóa đọc toàn cầu
trong thời gian của toàn bộ bãi chứa. Tùy chọn này tự động tắt
- giao dịch đơn lẻ- bảng khóa.

· - bảng khóa, -l

Đối với mỗi cơ sở dữ liệu được kết xuất, hãy khóa tất cả các bảng được kết xuất trước khi kết xuất chúng. Những cái bàn
được khóa với READ LOCAL để cho phép chèn đồng thời trong trường hợp bảng MyISAM.
Đối với các bảng giao dịch như InnoDB, - giao dịch đơn lẻ là một lựa chọn tốt hơn nhiều
hơn - bảng khóa bởi vì nó không cần phải khóa các bảng ở tất cả.

Bởi vì - bảng khóa khóa các bảng cho từng cơ sở dữ liệu 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 nhất quán 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 kết xuất ở các trạng thái hoàn toàn khác nhau.

Sử dụng --skip-lock-table để vô hiệu hóa.

· --log-error =tên_tệp

Ghi nhật ký các cảnh báo và lỗi bằng cách thêm chúng vào tệp được đặt tên. Mặc định là không làm
khai thác gỗ.

· --master-data [=giá trị]

Sử dụng tùy chọn này để kết xuất một máy chủ nhân bản chính để tạo ra một tệp kết xuất có thể
được sử dụng để thiết lập một máy chủ khác làm nô lệ của chủ. Nó làm cho đầu ra kết xuất
bao gồm câu lệnh CHANGE MASTER TO cho biết tọa độ nhật ký nhị phân (tệp
tên và vị trí) của máy chủ được kết xuất. Đây là các tọa độ máy chủ chính từ
mà nô lệ sẽ bắt đầu sao chép sau khi bạn tải tệp kết xuất vào nô lệ.

Nếu giá trị tùy chọn là 2, câu lệnh CHANGE MASTER TO được viết dưới dạng nhận xét SQL,
và do đó chỉ là thông tin; nó không có hiệu lực khi tệp kết xuất được tải lại. Nếu
giá trị tùy chọn là 1, câu lệnh không được viết dưới dạng nhận xét và có hiệu lực khi
tệp kết xuất được tải lại. Nếu không có giá trị tùy chọn nào được chỉ định, giá trị mặc định là 1.

Tùy chọn này yêu cầu đặc quyền RELOAD và nhật ký nhị phân phải được bật.

--dữ liệu chủ tùy chọn tự động tắt - bảng khóa. Nó cũng bật
- khóa tất cả các bảng, trừ khi - giao dịch đơn lẻ cũng được chỉ định. Trong mọi trường hợp, bất kỳ
hành động trên nhật ký xảy ra tại thời điểm chính xác của kết xuất.

Cũng có thể thiết lập một nô lệ bằng cách phá bỏ một nô lệ hiện có của chủ nhân. Đến
làm điều này, sử dụng quy trình sau trên nô lệ hiện có:

1. Dừng chuỗi SQL của nô lệ và nhận trạng thái hiện tại của nó:

mysql> DỪNG NÔ LỆ SQL_THREAD;
mysql> HIỂN THỊ NÔ LỆ TRẠNG THÁI;

2. Từ đầu ra của câu lệnh SHOW SLAVE STATUS, tọa độ nhật ký nhị phân của
máy chủ chính mà từ đó máy chủ mới sẽ bắt đầu sao chép là các giá trị
của các trường Relay_Master_Log_File và Exec_Master_Log_Pos. Biểu thị những giá trị đó
as tên_tệpfile_pos.

3. Kết xuất máy chủ nô lệ:

vỏ> mysqldump --master-data = 2 - cơ sở dữ liệu tất cả > tập tin dump

4. Khởi động lại nô lệ:

mysql> BẮT ĐẦU NÔ LỆ;

5. Trên nô lệ mới, tải tệp kết xuất:

vỏ> mysql < tập tin dump

6. Trên máy chủ mới, đặt tọa độ sao chép thành tọa độ của máy chủ chính
thu được trước đó:

mysql> THAY ĐỔI MASTER ĐẾN
-> MASTER_LOG_FILE = ´tên_tệpẠc, MASTER_LOG_POS = file_pos;

Câu lệnh CHANGE MASTER TO cũng có thể cần các tham số khác, chẳng hạn như
MASTER_HOST để trỏ máy chủ tới đúng máy chủ của máy chủ chính. Thêm bất kỳ như vậy
các tham số khi cần thiết.

· --max-allow-packet =chiều dài

Đặt độ dài gói tối đa để gửi hoặc nhận từ máy chủ.

· --net-buffer-length =chiều dài

Đặt kích thước bộ đệm cho giao tiếp TCP / IP và socket.

· --không tự động cam kết

Đính kèm các câu lệnh INSERT cho mỗi bảng được kết xuất trong SET autocommit = 0 và
Tuyên bố CAM KẾT.

· --no-tạo-db, -n

Tùy chọn này loại bỏ các câu lệnh TẠO CƠ SỞ DỮ LIỆU được đưa vào
đầu ra nếu --cơ sở dữ liệu or - cơ sở dữ liệu tất cả tùy chọn được đưa ra.

· - không-tạo-thông tin, -t

Không viết câu lệnh CREATE TABLE để tạo lại từng bảng đã kết xuất.

· --không có dữ liệu, -d

Không viết bất kỳ thông tin hàng nào trong bảng (nghĩa là không đổ nội dung bảng). Đây là
hữu ích nếu bạn chỉ muốn kết xuất câu lệnh CREATE TABLE 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).

· - không mặc định

Không đọc các tùy chọn mặc định từ bất kỳ tệp tùy chọn nào. Cái này phải được đưa ra là cái đầu tiên
tranh luận.

· - không-đặt-tên, -N

Điều này có tác dụng tương tự như --skip-set-bộ ký tự.

· --opt

Tùy chọn này là tốc ký. Nó cũng giống như chỉ định --add-thả-bảng --add-lock
--tạo-tùy chọn - phím tắt --chèn mở rộng - bảng khóa --nhanh chóng - bộ ký tự.
Nó sẽ cung cấp cho bạn một hoạt động kết xuất nhanh và tạo ra một tệp kết xuất có thể được tải lại
vào máy chủ MariaDB một cách nhanh chóng.

--opt tùy chọn is kích hoạt by mặc định. Sử dụng --bỏ qua-opt đến vô hiệu hóa nó. Xem
thảo luận ở đầu phần này để biết thông tin về cách kích hoạt có chọn lọc
hoặc vô hiệu hóa một tập hợp con các tùy chọn bị ảnh hưởng bởi --opt.

· - order-by-primary

Kết xuất từng hàng của bảng được sắp xếp theo khóa chính của nó hoặc theo chỉ mục duy nhất đầu tiên của nó, nếu
một chỉ số như vậy tồn tại. Điều này rất hữu ích khi kết xuất một bảng MyISAM để được tải vào một
Bảng InnoDB, nhưng sẽ làm cho hoạt động kết xuất mất nhiều thời gian hơn.

· - mật khẩu [=mật khẩu], -P[mật khẩu]

Mật khẩu sử dụng khi kết nối với máy chủ. Nếu bạn sử dụng biểu mẫu tùy chọn ngắn
(-p), bạn không thể có khoảng trắng giữa tùy chọn và mật khẩu. Nếu bạn bỏ qua
mật khẩu giá trị theo sau --mật khẩu mở khóa or -p tùy chọn trên dòng lệnh, mysqldump
lời nhắc cho một.

Việc chỉ định mật khẩu trên dòng lệnh sẽ được coi là không an toàn. Bạn có thể dùng
một tệp tùy chọn để tránh nhập mật khẩu trên dòng lệnh.

· --đường ống, -W

Trên Windows, kết nối với máy chủ thông qua một đường ống được đặt tên. Tùy chọn này chỉ áp dụng nếu
máy chủ hỗ trợ các kết nối đường ống có tên.

· --plugin-dir

Thư mục cho các plugin phía máy khách.

· --port =số cổng, -P số cổng

Số cổng TCP / IP để sử dụng cho kết nối.

· --protocol = {TCP | SOCKET | PIPE | MEMORY}

Giao thức kết nối được sử dụng để kết nối với máy chủ. Nó hữu ích khi
các thông số kết nối khác thường sẽ khiến một giao thức được sử dụng khác với
một trong những bạn muốn.

· --nhanh chóng, -q

Tùy chọn này rất hữu ích để kết xuất các bảng lớn. Nó buộc mysqldump để lấy các hàng
cho một bảng từ máy chủ một hàng tại một thời điểm thay vì truy xuất toàn bộ tập hợp hàng
và đệm nó vào bộ nhớ trước khi viết nó ra.

· - print-defaults

In danh sách đối số của chương trình và thoát. Điều này phải được đưa ra làm đối số đầu tiên.

· - tên-trích dẫn, -Q

Trích dẫn các số nhận dạng (chẳng hạn như tên cơ sở dữ liệu, bảng và cột) trong các ký tự “''.
Nếu chế độ ANSI_QUOTES SQL được bật, số nhận dạng được trích dẫn trong các ký tự “" ”.
Tùy chọn này được kích hoạt theo mặc định. Nó có thể bị vô hiệu hóa với --skip-quote-tên, Nhưng
tùy chọn này nên được đưa ra sau bất kỳ tùy chọn nào, chẳng hạn như --tương thích điều đó có thể kích hoạt
- tên-trích dẫn.

· --thay thế

Viết câu lệnh REPLACE thay vì câu lệnh INSERT.

· --result-file =tên_tệp, -r tên_tệp

Đầu ra trực tiếp đến một tệp nhất định. Tùy chọn này nên được sử dụng trên Windows để ngăn chặn
ký tự dòng mới “\ n” từ được chuyển đổi thành “\ r \ n” ký tự xuống dòng / dòng mới
trình tự. Tệp kết quả được tạo và nội dung trước đó của nó bị ghi đè, ngay cả khi
một lỗi xảy ra khi tạo kết xuất.

· - quy trình, -R

Bao gồm các quy trình được lưu trữ (thủ tục và chức năng) cho cơ sở dữ liệu được kết xuất trong
đầu ra. Việc sử dụng tùy chọn này yêu cầu đặc quyền CHỌN cho bảng mysql.proc. Các
đầu ra được tạo ra bằng cách sử dụng - quy trình chứa TẠO THỦ TỤC và TẠO CHỨC NĂNG
để tạo lại các quy trình. Tuy nhiên, những tuyên bố này không bao gồm
chẳng hạn như dấu thời gian tạo và sửa đổi quy trình. Điều này có nghĩa rằng
khi các quy trình được tải lại, chúng sẽ được tạo với các dấu thời gian bằng
thời gian tải lại.

Nếu bạn yêu cầu tạo lại các quy trình với các thuộc tính dấu thời gian ban đầu của chúng, hãy
không dùng - quy trình. Thay vào đó, hãy kết xuất và tải lại nội dung của bảng mysql.proc
trực tiếp, sử dụng tài khoản MariaDB có các đặc quyền thích hợp cho mysql
cơ sở dữ liệu.

· - bộ ký tự

Thêm ĐẶT TÊN mặc định_character_set đến đầu ra. Tùy chọn này được kích hoạt theo mặc định.
Để loại bỏ câu lệnh SET NAMES, hãy sử dụng --skip-set-bộ ký tự.

· - giao dịch đơn lẻ

Tùy chọn này gửi câu lệnh SQL BẮT ĐẦU GIAO DỊCH tới máy chủ trước khi kết xuất dữ liệu.
Nó chỉ hữu ích với các bảng giao dịch chẳng hạn như InnoDB, bởi vì sau đó nó kết xuất
trạng thái nhất quán của cơ sở dữ liệu tại thời điểm BEGIN được cấp mà không bị chặn
bất kỳ ứng dụng nào.

Khi sử dụng tùy chọn này, bạn nên nhớ rằng chỉ các bảng InnoDB mới được đưa vào
một trạng thái nhất quán. Ví dụ: bất kỳ bảng MyISAM hoặc MEMORY nào được kết xuất khi sử dụng
tùy chọn vẫn có thể thay đổi trạng thái.

Trong khi một - giao dịch đơn lẻ đang xử lý kết xuất, để đảm bảo tệp kết xuất hợp lệ (đúng
nội dung bảng 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, CREATE TABLE, DROP TABLE, RENAME TABLE, TRUNCATE
BÀN. Một bài đọc nhất quán không bị tách biệt khỏi những tuyên bố đó, vì vậy hãy sử dụng chúng trên một
bảng được kết xuất có thể khiến SELECT được thực hiện bởi mysqldump để lấy
mục lục để có được nội dung không chính xác hoặc không thành công.

- giao dịch đơn lẻ tùy chọn và - bảng khóa tùy chọn loại trừ lẫn nhau
bởi vì LOCK TABLES khiến mọi giao dịch đang chờ xử lý được cam kết ngầm.

Để kết xuất các bảng lớn, bạn nên kết hợp - giao dịch đơn lẻ tùy chọn với --nhanh chóng.

· --skip-add-drop-table

Vô hiệu hoá --add-thả-bảng tùy chọn.

· --skip-thêm-khóa

Vô hiệu hoá --add-lock tùy chọn.

· --skip-bình luận

Vô hiệu hoá --bình luận tùy chọn.

· --skip-gọn nhẹ

Vô hiệu hoá --gọn nhẹ tùy chọn.

· --suy-tắt-phím

Vô hiệu hoá - phím tắt tùy chọn.

· --skip-Extended-insert

Vô hiệu hoá --chèn mở rộng tùy chọn.

· --bỏ qua-opt

Vô hiệu hoá --opt tùy chọn.

· --skip-nhanh chóng

Vô hiệu hoá --nhanh chóng tùy chọn.

· --skip-quote-tên

Vô hiệu hoá - tên-trích dẫn tùy chọn.

· --skip-set-bộ ký tự

Vô hiệu hoá - bộ ký tự tùy chọn.

· --skip-trigger

Vô hiệu hoá --gây nên tùy chọn.

· --skip-tz-utc

Vô hiệu hoá --tz-utc tùy chọn.

· --socket =con đường, -S con đường

Đối với các kết nối đến máy chủ cục bộ, tệp ổ cắm Unix để sử dụng hoặc trên Windows, tên của
đường ống được đặt tên để sử dụng.

· --ssl

Bật SSL cho kết nối (được bật tự động với các cờ khác). Tắt với
--skip-ssl.

· --ssl-ca =tên

Tệp CA ở định dạng PEM (kiểm tra tài liệu OpenSSL, ngụ ý --ssl).

· --ssl-capath =tên

Thư mục CA (kiểm tra tài liệu OpenSSL, ngụ ý --ssl).

· --ssl-cert =tên

Chứng chỉ X509 ở định dạng PEM (kiểm tra tài liệu OpenSSL, ngụ ý --ssl).

· --ssl-cipher =tên

Mật mã SSL để sử dụng (kiểm tra tài liệu OpenSSL, ngụ ý --ssl).

· --ssl-key =tên

Khóa X509 ở định dạng PEM (kiểm tra tài liệu OpenSSL, ngụ ý --ssl).

· --ssl-crl =tên

Danh sách thu hồi chứng chỉ (kiểm tra tài liệu OpenSSL, ngụ ý --ssl).

· --ssl-crlpath =tên

Đường dẫn danh sách thu hồi chứng chỉ (kiểm tra tài liệu OpenSSL, ngụ ý --ssl).

· --ssl-xác minh-máy chủ-cert

Xác minh "Tên chung" của máy chủ trong chứng chỉ của máy chủ so với tên máy chủ được sử dụng khi kết nối. Cái này
tùy chọn bị tắt theo mặc định.

· --tab =con đường, -T con đường

Tạo tệp dữ liệu định dạng văn bản được phân tách bằng tab. Đối với mỗi bảng đã kết xuất, mysqldump tạo ra
a tbl_name.sql tệp có chứa câu lệnh CREATE TABLE để tạo bảng,
và máy chủ viết một tbl_nametệp .txt có chứa dữ liệu của nó. Giá trị tùy chọn là
thư mục để ghi tệp.

Lưu ý
Tùy chọn này chỉ nên được sử dụng khi mysqldump được chạy trên cùng một máy với
mysqld người phục vụ. Bạn phải có đặc quyền FILE và máy chủ phải có
quyền ghi tệp trong thư mục mà bạn chỉ định.
Theo mặc định, các tệp dữ liệu .txt được định dạng bằng cách sử dụng các ký tự tab giữa cột
giá trị và một dòng mới ở cuối mỗi dòng. Định dạng có thể được chỉ định rõ ràng
bằng cách sử dụng --lĩnh vực-xxx--lines-end-by tùy chọn.

Giá trị cột được chuyển đổi thành bộ ký tự được chỉ định bởi
--bộ ký tự mặc định tùy chọn.

· --những cái bàn

Ghi đè --cơ sở dữ liệu or -B tùy chọn. mysqldump liên quan đến tất cả các đối số tên sau
tùy chọn dưới dạng tên bảng.

· --gây nên

Bao gồm các trình kích hoạt cho mỗi bảng được kết xuất trong đầu ra. Tùy chọn này được kích hoạt bởi
vỡ nợ; vô hiệu hóa nó với --skip-trigger.

· --tz-utc

Tùy chọn này cho phép các cột TIMESTAMP được kết xuất và tải lại giữa các máy chủ trong
múi giờ khác nhau. mysqldump đặt múi giờ kết nối của nó thành UTC và thêm SET
TIME_ZONE = ´ + 00: 00´ vào tệp kết xuất. Nếu không có tùy chọn này, các cột TIMESTAMP sẽ bị hủy
và được tải lại theo múi giờ cục bộ cho máy chủ nguồn và máy chủ đích, có thể
khiến các giá trị thay đổi nếu máy chủ ở các múi giờ khác nhau. --tz-utc Ngoài ra
bảo vệ khỏi những thay đổi do thời gian tiết kiệm ánh sáng ban ngày. --tz-utc được bật theo mặc định.
Để vô hiệu hóa nó, hãy sử dụng --skip-tz-utc.

· - người dùng =user_name, -u user_name

Tên người dùng MariaDB để sử dụng khi kết nối với máy chủ.

· --dài dòng, -v

Chế độ chi tiết. In thêm thông tin về những gì chương trình thực hiện.

· --phiên bản, -V

thông tin phiên bản màn hình và thoát.

· - đâu = ´ở đâu_điều kiện´, -w ´ở đâu_điều kiện´

Chỉ kết xuất các hàng được chọn theo điều kiện WHERE đã 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 lệnh của bạn
thông dịch viên.

Ví dụ:

--where = "user = ´jimf´"
-w "userid> 1"
-w "userid <1"

· --xml, -X

Viết kết xuất kết xuất dưới dạng XML được định dạng tốt.

VÔ GIÁ TRỊ, VÔ GIÁ TRỊ, Trống Các giá trị: Đối với một cột có tên tên cột dọc, giá trị NULL, một
chuỗi rỗng và giá trị chuỗi ´NULL´ được phân biệt với nhau trong
đầu ra do tùy chọn này tạo ra như sau.

┌──────────────────────── ─
Giá trị: │ XML Đại diện: │
├──────────────────────── ─
│NULL (không xác định giá trị) │tên cột dọc"xsi: nil =" true "/> │
├──────────────────────── ─
│'' (trống chuỗi) │tên cột dọc"> │
├──────────────────────── ─
│'NULL' (chuỗi giá trị) │tên cột dọc"> KHÔNG │
└──────────────────────── ─
Đầu ra từ mysql khách hàng khi chạy bằng cách sử dụng --xml tùy chọn cũng theo sau
quy tắc trước sau. (Xem phần có tên “CÁC LỰA CHỌN MYSQL”.)

Đầu ra XML từ mysqldump bao gồm không gian tên XML, như được hiển thị ở đây:

vỏ> mysqldump --xml -u nguồn gốc thế giới City

<mysqldump xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">


<field Field="ID" Loại="int(11) "Null =" NO "Key =" PRI "Extra =" auto_increment "/>
<field Field="Tên" Loại="xe tăng(35) "Null =" KHÔNG "Phím =" "Mặc định =" "Thêm =" "/>
<field Field="Mã quốc gia" Loại="xe tăng(3) "Null =" KHÔNG "Phím =" "Mặc định =" "Thêm =" "/>
<field Field="Quận" Loại="xe tăng(20) "Null =" KHÔNG "Phím =" "Mặc định =" "Thêm =" "/>
<field Field="Dân số" Loại="int(11) "Null =" NO "Key =" "Default =" 0 "Extra =" "/>
<key Table="Thành phố" Non_unique="0" Key_name="PRIMARY" Seq_in_index="1" Column_name="ID"
Collation = "A" Cardinality = "4079" Null = "" Index_type = "BTREE" Comment = "" />
<options Name="City" Engine="MyISAM" Version="10" Row_format="Đã sửa" Hàng="4079"
Avg_row_length = "67" Data_length = "273293" Max_data_length = "18858823439613951"
Index_length = "43008" Data_free = "0" Auto_increment = "4080"
Create_time="2007-03-31 01:47:01" Update_time="2007-03-31 01:47:02"
Collation = "latin1_swedish_ci" Create_options = "" Comment = "" />



1
Kabul
AFG
Kabol
1780000

...

4079
Rafah
PSE
Rafah
92020





Bạn cũng có thể đặt các biến sau bằng cách sử dụng --var_name=giá trị cú pháp:

· Max_allowed_packet

Kích thước tối đa của bộ đệm cho giao tiếp máy khách / máy chủ. Tối đa là 1GB.

· Net_buffer_length

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âu lệnh INSERT nhiều hàng (như với --chèn mở rộng or --opt Lựa chọn),
mysqldump tạo các hàng có độ dài tối đa là net_buffer_length. Nếu bạn tăng biến này,
bạn cũng nên đảm bảo rằng biến net_buffer_length trong máy chủ MariaDB ở
ít nhất là lớn này.

Một cách sử dụng phổ biến của mysqldump là để tạo bản sao lưu của toàn bộ cơ sở dữ liệu:

vỏ> mysqldump db_name > sao lưu-file.sql

Bạn có thể tải lại tệp kết xuất vào máy chủ như sau:

vỏ> mysql db_name < sao lưu-file.sql

Hoặc như thế này:

vỏ> mysql -e "nguồn /path-to-backup/backup-file.sql" db_name

mysqldump cũng rất hữu ích để điền cơ sở dữ liệu bằng cách sao chép dữ liệu từ một MariaDB
máy chủ khác:

vỏ> mysqldump --opt db_name | mysql --host =máy chủ từ xa -C db_name

Có thể kết xuất một số cơ sở dữ liệu bằng một lệnh:

vỏ> mysqldump --cơ sở dữ liệu db_name1 [db_name2 ...] > my_database.sql

Để kết xuất tất cả cơ sở dữ liệu, hãy sử dụng - cơ sở dữ liệu tất cả tùy chọn:

vỏ> mysqldump - cơ sở dữ liệu tất cả > all_databases.sql

Đối với bảng InnoDB, mysqldump cung cấp một cách tạo sao lưu trực tuyến:

vỏ> mysqldump - cơ sở dữ liệu tất cả - giao dịch đơn lẻ > all_databases.sql

Bản sao lưu này có được một khóa đọc toàn cục trên tất cả các bảng (sử dụng FLUSH TABLES WITH READ LOCK)
ở đầu bãi chứa. Ngay sau khi khóa này được lấy, nhật ký nhị phân
tọa độ được đọc và khóa được giải phóng. Nếu các câu lệnh cập nhật dài đang chạy
khi tuyên bố FLUSH được đưa ra, máy chủ MariaDB có thể bị dừng cho đến khi
câu lệnh kết thúc. Sau đó, kết xuất sẽ không bị khóa và không làm phiền các lần đọc và
viết trên các bảng. Nếu các câu lệnh cập nhật mà máy chủ MariaDB nhận được ngắn
(về thời gian thực hiện), khoảng thời gian khóa ban đầu sẽ không đáng chú ý, ngay cả với
nhiều bản cập nhật.

Để khôi phục tại thời điểm (còn được gọi là "cuộn về phía trước", khi bạn cần khôi phục
sao lưu và phát lại các thay đổi đã xảy ra kể từ lần sao lưu đó), nó thường hữu ích để
xoay nhật ký nhị phân hoặc ít nhất biết tọa độ nhật ký nhị phân mà kết xuất
tương ứng:

vỏ> mysqldump - cơ sở dữ liệu tất cả --master-data = 2 > all_databases.sql

Hoặc:

vỏ> mysqldump - cơ sở dữ liệu tất cả --flush-log --master-data = 2
> all_databases.sql

--dữ liệu chủ- giao dịch đơn lẻ các tùy chọn có thể được sử dụng đồng thời,
cung cấp một cách thuận tiện để tạo một bản sao lưu trực tuyến phù hợp để sử dụng trước thời điểm
khôi phục nếu bảng được lưu trữ bằng công cụ lưu trữ InnoDB.

Nếu bạn gặp sự cố khi sao lưu lượt xem, vui lòng đọc phần bao gồm
hạn chế đối với các chế độ xem mô tả một giải pháp để sao lưu các chế độ xem khi điều này không thành công
do không đủ đặc quyền.

BẢN QUYỀN


Bản quyền 2007-2008 MySQL AB, 2008-2010 Sun Microsystems, Inc., 2010-2015 MariaDB
Nền móng

Tài liệu này là phần mềm miễn phí; bạn có thể phân phối lại nó và / hoặc sửa đổi nó chỉ trong
các điều khoản của Giấy phép Công cộng GNU do Tổ chức Phần mềm Tự do xuất bản;
phiên bản 2 của Giấy phép.

Tài liệu này được phân phối với hy vọng rằng nó sẽ hữu ích, nhưng KHÔNG CÓ BẤT KỲ
SỰ BẢO ĐẢM; thậm chí không có bảo đảm ngụ ý về KHẢ NĂNG LÊN LỚN hoặc SỰ PHÙ HỢP VỚI NGƯỜI THAM GIA
MỤC ĐÍCH. Xem Giấy phép Công cộng GNU để biết thêm chi tiết.

Bạn đáng lẽ đã nhận được một bản sao của Giấy phép Công cộng GNU cùng với chương trình;
nếu không, hãy viết thư cho Free Software Foundation, Inc., 51 Franklin Street, Tầng Năm,
Boston, MA 02110-1301 Hoa Kỳ hoặc xem http://www.gnu.org/licenses/.

GHI CHÚ


1. Lỗi # 30123
http://bugs.mysql.com/bug.php? id = 30123

Sử dụng mysqldump trực tuyến bằng các dịch vụ onworks.net



Các chương trình trực tuyến Linux & Windows mới nhất