Cách Import và Export cơ sở dữ liệu trong MySQL hoặc MariaDB

Tác giả Network Engineer, T.Mười 21, 2021, 11:02:54 SÁNG

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 2 Khách đang xem chủ đề.

Cách Import và Export cơ sở dữ liệu trong MySQL hoặc MariaDB


Import và Export cơ sở dữ liệu là một công việc phổ biến trong phát triển phần mềm. Bạn có thể sử dụng data dumps dữ liệu để sao lưu và khôi phục thông tin của mình. Bạn cũng có thể sử dụng chúng để di chuyển dữ liệu sang máy chủ hoặc môi trường phát triển mới.

Trong hướng dẫn này, bạn sẽ làm việc với data dumps cơ sở dữ liệu trong MySQL hoặc MariaDB (các lệnh có thể hoán đổi cho nhau). Cụ thể, bạn sẽ Export một cơ sở dữ liệu và sau đó Import cơ sở dữ liệu đó từ tập tin data dumps.

Để Import hoặc Export cơ sở dữ liệu MySQL hoặc MariaDB, bạn sẽ cần:

  • Máy ảo có người dùng sudo không phải root.
  • Đã cài đặt MySQL hoặc MariaDB.
  • Một cơ sở dữ liệu mẫu được tạo trong máy chủ cơ sở dữ liệu của bạn.

1. Export Cơ sở dữ liệu MySQL hoặc MariaDB.

Chúng ta sẽ sử dụng tiện ích mysqldump để Export cơ sở dữ liệu đến dạng tập tin văn bản SQL. Điều này giúp cho việc chuyển giao và di chuyển cơ sở dữ liệu trở nên dễ dàng hơn. Bạn sẽ cần tên và thông tin đăng nhập cơ sở dữ liệu của mình cho một tài khoản có quyền cho phép ít nhất là toàn quyền truy cập chỉ đọc vào cơ sở dữ liệu.

Sử dụng mysqldump để Export cơ sở dữ liệu của bạn:

Mã nguồn [Chọn]
# mysqldump -u username -p database_name > data-dump.sql
  • username là tên người dùng bạn có thể đăng nhập vào cơ sở dữ liệu.
  • database_name là tên của cơ sở dữ liệu để Export.
  • data-dump.sql là tập tin trong thư mục hiện tại lưu trữ kết quả đầu ra.

Lệnh sẽ không tạo ra đầu ra trực quan, nhưng bạn có thể kiểm tra nội dung của data-dump.sql để xem đó có phải là tập tin data dumps SQL có thể sử dụng được hay không.

Chạy lệnh sau:

Mã nguồn [Chọn]
# head -n 5 data-dump.sql
Phần trên cùng của tập tin sẽ trông tương tự như thế này, hiển thị data dumps MySQL cho cơ sở dữ liệu có tên database_name.
       
Mã nguồn [Chọn]
-- MySQL dump 10.13  Distrib 5.7.16, for Linux (x86_64)
--
-- Host: localhost    Database: database_name
-- ------------------------------------------------------
-- Server version       5.7.16-0ubuntu0.16.04.1


Nếu có bất kỳ lỗi nào xảy ra trong quá trình Export, mysqldump sẽ in chúng ra màn hình.

2. Import cơ sở dữ liệu MySQL hoặc MariaDB.

Để Import tập tin data dumps hiện có vào MySQL hoặc MariaDB, bạn sẽ phải tạo cơ sở dữ liệu mới. Cơ sở dữ liệu này sẽ giữ dữ liệu mà chúng ta muốn Import.

Đầu tiên, đăng nhập vào MySQL với người dùng root hoặc người dùng khác có đủ quyền để tạo cơ sở dữ liệu mới:

Mã nguồn [Chọn]
# mysql -u root -p
Lệnh này sẽ đưa bạn vào dấu nhắc MySQL shell. Tiếp theo, tạo một cơ sở dữ liệu mới bằng lệnh sau. Trong ví dụ này, cơ sở dữ liệu mới được gọi là new_database:

Mã nguồn [Chọn]
mysql> CREATE DATABASE new_database;
Bạn sẽ thấy đầu ra này xác nhận việc tạo cơ sở dữ liệu.

Mã nguồn [Chọn]
Query OK, 1 row affected (0.00 sec)
Sau đó, thoát khỏi MySQL shell bằng cách nhấn CTRL+D. Từ dòng lệnh bình thường của SSH, bạn có thể Import tập tin data dumps bằng lệnh sau:

Mã nguồn [Chọn]
# mysql -u username -p new_database < data-dump.sql
  • username là tên người dùng bạn có thể đăng nhập vào cơ sở dữ liệu.
  • newdatabase là tên của cơ sở dữ liệu mới được tạo.
  • data-dump.sql là tập tin dữ liệu data dumps sẽ được Import, nằm trong thư mục hiện tại.

Nếu lệnh chạy thành công, nó sẽ không tạo ra bất kỳ đầu ra nào. Nếu có bất kỳ lỗi nào xảy ra trong quá trình này, MySQL sẽ in chúng ra ngay cửa sổ dòng lệnh SSH. Để kiểm tra xem quá trình Import có thành công hay không, hãy đăng nhập vào MySQL shell và kiểm tra dữ liệu. Chọn cơ sở dữ liệu mới và sau đó sử dụng một lệnh tương tự để xem một số dữ liệu.

Mã nguồn [Chọn]
mysql> USE new_database
mysql> SHOW TABLES;

Trong hướng dẫn này, bạn đã Export ra một data dumps cơ sở dữ liệu từ cơ sở dữ liệu MySQL hoặc MariaDB. Sau đó, bạn đã Import data dumps dữ liệu đó vào một cơ sở dữ liệu mới. Tiện ích mysqldump có các cài đặt bổ sung mà bạn có thể sử dụng để thay đổi cách hệ thống tạo dữ liệu data dumps. Bạn có thể tìm hiểu thêm từ trang tài liệu chính thức của tiện ích mysqldump.