Cách nhập và xuất Databases trên MySQL hoặc MariaDB

Nhập và xuất databases là một công việc phổ biến trong phát triển phần mềm. Bạn sử dụng các bản sao dữ liệu để sao lưu và khôi phục thông tin. Bạn cũng sử dụng chúng để di chuyển dữ liệu đến một máy chủ mới hoặc môi trường phát triển.

Trong hướng dẫn này, bạn sẽ làm việc với các bản sao dữ liệu cơ sở dữ liệu trong MySQL hoặc MariaDB (các lệnh có thể sử dụng thay thế cho nhau). Cụ thể, bạn sẽ xuất một cơ sở dữ liệu và sau đó nhập cơ sở dữ liệu đó từ tệp sao lưu.

Điều kiện tiên quyết

Để nhập hoặc xuất databases MySQL hoặc MariaDB, bạn cần:

  • Máy ảo với một người dùng sudo không phải là root. Nếu cần một máy chủ, tạo một Droplet DigitalOcean chạy hệ điều hành Linux yêu thích của bạn. Sau khi tạo, chọn bản phân phối từ danh sách này và làm theo hướng dẫn. Thiết lập ban đầu cho máy chủ.
  • MySQL hoặc MariaDB đã được cài đặt. Để cài đặt MySQL, làm theo hướng dẫn "Cách cài đặt MySQL". Để cài đặt MariaDB, làm theo hướng dẫn "Cách cài đặt 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. Để tạo một cơ sở dữ liệu mẫu, làm theo "Tạo một cơ sở dữ liệu mẫu" và "Giới thiệu về truy vấn trong MySQL".

Lưu ý: Như một phương án thay thế cho việc cài đặt thủ công, bạn có thể khám phá Ứng dụng MySQL One-Click trên DigitalOcean Marketplace.

Bước 1 — Xuất databases MySQL hoặc MariaDB

Tiện ích dòng lệnh mysqldump xuất databases thành các tệp văn bản SQL. Điều này làm cho việc chuyển và di chuyển cơ sở dữ liệu dễ dàng hơn. Bạn cần tên cơ sở dữ liệu và thông tin đăng nhập cho một tài khoản có quyền cho phép ít nhất truy cập đọc toàn bộ cơ sở dữ liệu.

Sử dụng mysqldump để xuất cơ sở dữ liệu:

mysqldump -u username -p database_name > data-dump.sql
  • username: tên người dùng bạn đăng nhập vào cơ sở dữ liệu
  • database_name: tên cơ sở dữ liệu cần xuất
  • data-dump.sql: tệp trong thư mục hiện tại để lưu đầu ra

Lệnh này sẽ không hiển thị đầu ra trực quan, bạn kiểm tra nội dung của data-dump.sql để kiểm tra xem đó có phải là tệp sao lưu SQL hợp lệ hay không.

Chạy lệnh sau:

head -n 5 data-dump.sql

Phần đầu của tệp sẽ trông tương tự như thế này, hiển thị một tệp sao lưu MySQL cho một cơ sở dữ liệu có tên database_name.

SQL dump fragment
-- 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 xảy ra bất kỳ lỗi nào trong quá trình xuất, mysqldump sẽ in chúng ra màn hình.

Bước 2 — Nhập databases MySQL hoặc MariaDB

Để nhập một tệp sao lưu hiện có vào MySQL hoặc MariaDB, bạn cần tạo một databases mới. Cơ sở dữ liệu này chứa dữ liệu được nhập.

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

mysql -u root -p

Lệnh này sẽ đưa bạn vào giao diện dòng lệnh MySQL. Tiếp theo, tạo một cơ sở dữ liệu mới bằng lệnh sau. Trong ví dụ, cơ sở dữ liệu mới gọi là new_database:

CREATE DATABASE new_database;

Đầu ra này xác nhận việc tạo cơ sở dữ liệu.

Output
Query OK, 1 row affected (0.00 sec)

Sau đó thoát khỏi giao diện dòng lệnh MySQL bằng nhấn CTRL+D. Từ dòng lệnh bình thường, bạn nhập tệp sao lưu với lệnh sau:

mysql -u username -p new_database < data-dump.sql
  • username: tên người dùng đăng nhập vào cơ sở dữ liệu
  • new_database: tên cơ sở dữ liệu vừa tạo
  • data-dump.sql: tệp sao lưu dữ liệu cần nhập, 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 xảy ra bất kỳ lỗi nào trong quá trình, mysql sẽ in chúng ra terminal. Để kiểm tra xem việc nhập đã thành công, đăng nhập vào giao diện dòng lệnh MySQL và kiểm tra dữ liệu. Chọn cơ sở dữ liệu mới bằng USE new_database và sau đó sử dụng lệnh SHOW TABLES hoặc một lệnh tương tự để xem một số dữ liệu.

Kết luận

Trong hướng dẫn này, bạn đã tạo một bản sao dữ liệu cơ sở dữ liệu từ cơ sở dữ liệu MySQL hoặc MariaDB. Sau đó, bạn nhập bản sao dữ liệu vào một cơ sở dữ liệu mới. Công cụ mysqldump còn 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 bản sao dữ liệu. Bạn có thể tìm hiểu thêm từ trang tài liệu chính thức của mysqldump.

Mọi người cũng tìm kiếm: xem database trong mysql, việc làm mysql, dump database là gì, dump data là gì, fastpanel mariadb, data dump là gì,

Các gói dịch vụ Cloud VPS của KDATA mang đến cho bạn nhiều lựa chọn về hiệu suất cũng như khả năng lưu trữ, mọi nhu cầu về doanh nghiệp đều được đáp ứng. KDATA đảm bảo khả năng uptime lên đến 99,99%, toàn quyền quản trị và free backup hằng ngày. Tham khảo ngay các gói dịch vụ Cloud VPS:

https://kdata.vn/cloud-vps

👉 Liên hệ ngay KDATA hỗ trợ tận tình, support tối đa, giúp bạn trải nghiệm dịch vụ giá hời chất lượng tốt nhất