Để xuất hoặc nhập với MySQL, hãy bắt đầu bằng cách đăng nhập vào máy chủ của bạn, tốt nhất là bằng sudo
quyền truy cập (root).
Xuất từ MySQL
Công cụ tốt nhất để xuất cơ sở dữ liệu MySQL sang tệp văn bản là mysqldump
.
Để sử dụng mysqldump
, bạn sẽ cần biết thông tin đăng nhập của một người dùng MySQL user
thích hợp có các đặc quyền cần thiết để xuất cơ sở dữ liệu được đề cập.
Với thông tin đó trong tay, hãy nhập mysqldump
lệnh với các cờ và tùy chọn thích hợp:
$ mysqldump -u my_username -p database_name > output_file_path
Các tùy chọn được sử dụng là:
-
-u
cờ chỉ ra rằng MySQLusername
sẽ theo dõi. -
-p
cờ cho biết chúng ta sẽ được nhắc nhậppassword
được liên kết vớiusername
ở trên . -
database_name
tất nhiên là tên chính xác của cơ sở dữ liệu cần xuất. -
>
biểu tượng là một chỉ thị Unix choSTDOUT
, cho phép các lệnh Unix xuất kết quả văn bản của lệnh đã phát ra một vị trí khác. Trong trường hợp này, vị trí đầu ra đó là một đường dẫn tệp, được chỉ định bởioutput_file_path
.
Lưu ý:Thông thường, bạn nên nhập đường dẫn và tên tệp đủ điều kiện cho output_file_path
, vì vậy tệp kết quả được tạo chính xác ở nơi bạn muốn.
Ví dụ:để xuất books
cơ sở dữ liệu dưới dạng book_admin
người dùng vào ~/backup/database
thư mục, chúng tôi có thể sử dụng lệnh sau:
$ mysqldump -u book_admin -p books > ~/backup/database/books.sql
Enter password:
Sau khi nhập mật khẩu của chúng tôi khi được nhắc ở trên, lệnh này sẽ tạo tệp sao lưu của chúng tôi bằng .sql
hậu tố (hoàn toàn không bắt buộc nhưng được khuyến khích) trong thư mục thích hợp.
Theo mặc định, mysqldump
sẽ không lưu các lệnh cố gắng sửa đổi sự tồn tại của cơ sở dữ liệu thực tế. Thay vào đó, theo mặc định, chỉ các bảng tables
thực tế (và dữ liệu tương ứng của chúng) được lưu và do đó sẽ được chuẩn bị cho việc nhập sau này bằng cách sử dụng tệp này. Nếu bạn cần khả năng xuất (và sau đó tạo lại) thêm một cơ sở dữ liệu nữa, hãy đọc trên --databases
gắn cờ trong tài liệu chính thức.
Nhập vào MySQL
Bây giờ bạn đã học cách xuất bản sao lưu cơ sở dữ liệu MySQL, chúng ta sẽ khám phá cách đảo ngược quy trình và nhập sao lưu vào cơ sở dữ liệu hiện có.
Như bạn có thể tưởng tượng, để khen ngợi mysqldump
được sử dụng để xuất, có một mysqlimport
tương tự lệnh để nhập.
Trong hầu hết các trường hợp, việc nhập chỉ là một vấn đề để vượt qua gần như giống hệt nhau các tùy chọn cho mysqlimport
yêu cầu. Để nhập books.sql
đã lưu của chúng tôi tệp được tạo trước đó, chúng tôi sẽ sử dụng nhiều cờ giống nhau và cú pháp giống nhau.
$ mysqlimport -u book_admin -p books_production ~/backup/database/books.sql
Enter password:
Như trước đây, -u
và -p
cờ là bắt buộc để xác thực, sau đó là tên của database
để nhập vào (trong trường hợp này, chúng tôi đang sử dụng cơ sở dữ liệu sản xuất khác), sau đó chỉ định đường dẫn cuối cùng đủ điều kiện đến tệp kết xuất SQL chứa dữ liệu nhập của chúng tôi, ~/backup/database/books.sql
. Cũng cần lưu ý rằng mysqlimport
không yêu cầu <
hoặc >
Các ký hiệu (STDIN / STDOUT) được sử dụng với mysqldump
.
Cùng với đó, bạn đã học cách vừa xuất / sao lưu cơ sở dữ liệu hiện có và cách nhập / khôi phục dữ liệu đó vào cùng một hoặc thậm chí một cơ sở dữ liệu khác.