Cách Import, Export database trong MySQL hoặc MariaDB bằng terminal

Yêu cầu trước khi export / import database

Trước khi thực hiện export database trong MySQL hoặc import database MariaDB, việc chuẩn bị đúng môi trường là yếu tố quyết định để quá trình diễn ra suôn sẻ. Rất nhiều lỗi như permission denied, import thất bại hoặc database bị lỗi đều xuất phát từ khâu chuẩn bị chưa đầy đủ.

  • Có máy chủ Linux (VPS riêng, cloud server hoặc hosting hỗ trợ SSH)
  • Đã cài đặt MySQL hoặc MariaDB và dịch vụ database đang hoạt động
  • Có quyền truy cập terminal (SSH) để thực hiện lệnh import/export
  • Có user database với quyền đọc/ghi phù hợp (SELECT, INSERT, CREATE, ALTER…)

Đây là bước nền tảng nhưng rất nhiều người thường bỏ qua. Nếu làm tốt ngay từ đầu, các bước mariadb export database và import database MariaDB phía sau sẽ đơn giản và an toàn hơn rất nhiều.

Cách export database trong MySQL bằng terminal

Export database trong MySQL là quá trình tạo một file SQL chứa toàn bộ cấu trúc và dữ liệu của database. File này thường được dùng để backup hoặc chuyển sang server khác.

Lệnh cơ bản để export database trong MySQL như sau:
#mysqldump -u username -p database_name > data-dump.sql

Trong đó:
username là tên user bạn có thể đăng nhập vào database bằng
database_name là tên của database sẽ được xuất
data-dump.sql là file trong folder hiện tại mà kết quả sẽ được lưu vào.

Đây cũng là cú pháp thường dùng khi mariadb export database, vì MariaDB tương thích trực tiếp với mysqldump.

Ví dụ export database MySQL thực tế

Giả sử bạn cần export database tên là shop_db với user dbuser:

mysqldump -u dbuser -p shop_db > shop_db_backup.sql

Sau khi nhập mật khẩu, MySQL sẽ tạo file shop_db_backup.sql. File này có thể dùng để import database MariaDB hoặc restore lại MySQL khi cần.

Trong thực tế, rất nhiều developer dùng cách này để mariadb export database trước khi nâng cấp server hoặc đổi hosting.

Kiểm tra file SQL sau khi export

Sau khi export database trong MySQL, bạn nên kiểm tra nhanh file SQL để đảm bảo dữ liệu hợp lệ.
#head -n 5 data-dump.sql
Nếu file hiển thị các dòng như CREATE TABLE, INSERT INTO, hoặc comment của MySQL/MariaDB, nghĩa là quá trình mariadb export database hoặc export MySQL đã thành công.

Một số lưu ý quan trọng khi export database

Để quá trình export database trong MySQL và mariadb export database an toàn hơn, bạn nên lưu ý:

  • Không export database khi hệ thống đang ghi dữ liệu liên tục
  • Đảm bảo ổ đĩa còn đủ dung lượng
  • Đặt tên file SQL rõ ràng theo ngày tháng
  • Với database lớn, nên export vào giờ thấp tải

Những lưu ý này giúp file export ổn định và dễ dùng khi import database MariaDB sau này.

Cách import database MariaDB từ file SQL bằng terminal

Sau khi đã export database trong MySQL hoặc mariadb export database thành file .sql, bước tiếp theo là import database MariaDB để khôi phục hoặc triển khai dữ liệu.

Cách Import, Export database trong MySQL hoặc MariaDB bằng terminal

Bước 1: Đăng nhập MySQL / MariaDB bằng terminal

Trước tiên, bạn cần đăng nhập vào MySQL hoặc MariaDB với user có quyền tạo database.
#mysql -u root -p
Sau khi nhập mật khẩu, bạn sẽ vào shell của MySQL hoặc MariaDB. Tại đây, bạn có thể tạo database mới để import dữ liệu.

Bước 2: Tạo database mới để import

Trong hầu hết trường hợp, import database MariaDB nên thực hiện trên database trống để tránh xung đột dữ liệu.
create database new_database;
Nếu lệnh trả về:
Query OK, 1 row affected (0.00 sec)
Điều đó có nghĩa database đã được tạo thành công. Sau đó, thoát khỏi MySQL shell bằng tổ hợp phím Ctrl + D.

Bước 3: Import database MariaDB từ file SQL

Sau khi đã có database mới, bạn tiến hành import database MariaDB bằng lệnh sau:
#mysql -u username -p new_database < data-dump.sql

Trong đó:
username là tên user bạn có thể đăng nhập vào database bằng
newdatabase là tên của database mới được tạo
data-dump.sql là file kết xuất dữ liệu sẽ được nhập, nằm trong folder hiện tại

Lệnh này cũng áp dụng khi import database MySQL, vì cú pháp MySQL và MariaDB hoàn toàn tương thích.

Ví dụ import database MariaDB thực tế

Giả sử bạn có file shop_db_backup.sql và muốn import database MariaDB với tên shop_db:

mysql -u dbuser -p shop_db < shop_db_backup.sql

Sau khi nhập mật khẩu, hệ thống sẽ tự động import dữ liệu. Thời gian import database MariaDB phụ thuộc vào dung lượng file SQL và cấu hình server.

Kiểm tra sau khi import database MariaDB

Sau khi import database MariaDB xong, bạn nên kiểm tra nhanh:

  • Database có tồn tại không
  • Bảng đã được tạo chưa
  • Dữ liệu có đầy đủ không

Một lệnh kiểm tra nhanh:

mysql -u username -p

USE new_database;

SHOW TABLES;

Nếu danh sách bảng hiển thị đúng, quá trình import database MariaDB đã thành công.

Lỗi thường gặp khi import / export database

Trong quá trình export database trong MySQL, mariadb export database hoặc import database MariaDB, bạn rất dễ gặp lỗi nếu môi trường chưa được chuẩn bị đúng. Dưới đây là những lỗi phổ biến nhất, kèm nguyên nhân và hướng xử lý để bạn nhanh chóng khắc phục.

Lỗi Access denied for user

Đây là lỗi xuất hiện nhiều nhất khi import hoặc export database.

Nguyên nhân phổ biến:

User database không có đủ quyền

Nhập sai username hoặc mật khẩu

User không được cấp quyền trên database cần thao tác

Biểu hiện thường gặp:

Không export được database trong MySQL

Import database MariaDB bị dừng ngay từ đầu

Cách khắc phục:

Kiểm tra lại user và mật khẩu

Đảm bảo user có quyền SELECT khi export

Đảm bảo user có quyền INSERT, CREATE, ALTER khi import database MariaDB

Lỗi Unknown database

Lỗi này thường xảy ra khi import database MariaDB hoặc MySQL.

Nguyên nhân:

Database chưa được tạo trước khi import

Gõ sai tên database trong lệnh import

Phân biệt hoa – thường không đúng với cấu hình server

Cách xử lý:

Kiểm tra lại danh sách database hiện có

Tạo database mới trước khi import

Đảm bảo tên database trong lệnh import chính xác tuyệt đối

Đây là lỗi rất phổ biến với người mới khi import database MariaDB từ file SQL.

Lỗi Can’t connect to MySQL server

Lỗi này xảy ra khi hệ thống không thể kết nối tới MySQL hoặc MariaDB server.

Nguyên nhân thường gặp:

Dịch vụ MySQL/MariaDB chưa chạy

Server bị firewall chặn kết nối

Thông tin host hoặc socket không đúng

Cách khắc phục:

Kiểm tra trạng thái dịch vụ database

Đảm bảo MySQL/MariaDB đang chạy

Kiểm tra lại cấu hình kết nối khi import hoặc export database

Nếu gặp lỗi này, bạn sẽ không thể thực hiện mariadb export database hay import database MariaDB cho đến khi kết nối được khôi phục.

Lỗi charset (utf8 / utf8mb4)

Lỗi charset thường không làm import database MariaDB thất bại ngay lập tức, nhưng có thể gây lỗi hiển thị dữ liệu sau này.

Nguyên nhân:

Database cũ dùng utf8

Database mới dùng utf8mb4

File SQL export không đồng bộ charset

Biểu hiện:

Dữ liệu tiếng Việt bị lỗi font

Ký tự đặc biệt hiển thị sai

Cách hạn chế:

Kiểm tra charset trong file SQL

Đảm bảo database mới dùng charset phù hợp trước khi import

Nên thống nhất charset ngay từ đầu khi export database trong MySQL

File SQL bị corrupt hoặc không hoàn chỉnh

Đây là lỗi nguy hiểm vì có thể dẫn đến mất dữ liệu.

Nguyên nhân phổ biến:

Quá trình export database trong MySQL bị gián đoạn

Ổ đĩa hết dung lượng khi mariadb export database

File SQL bị upload/download lỗi

Cách kiểm tra:

Mở file SQL và kiểm tra phần đầu/cuối

So sánh dung lượng file với database gốc

Kiểm tra log khi import database MariaDB

Nếu file SQL bị thiếu dữ liệu, quá trình import database MariaDB có thể hoàn tất nhưng dữ liệu không đầy đủ.

Export database trong MySQL và import database MariaDB bằng terminal là thao tác quan trọng giúp bạn backup, khôi phục và migrate dữ liệu một cách an toàn. Khi nắm vững các lệnh cơ bản như mysqldump và mysql, việc mariadb export database hay import database MariaDB sẽ trở nên nhanh chóng và ổn định hơn nhiều so với dùng công cụ giao diện.

Chỉ cần chuẩn bị đúng môi trường, kiểm tra quyền user và file SQL trước khi thao tác, bạn có thể hạn chế tối đa lỗi mất dữ liệu hoặc downtime. Với những ai thường xuyên làm việc trên server Linux, thành thạo export và import database MySQL/MariaDB bằng terminal là kỹ năng nên có để xử lý hệ thống một cách chủ động và chuyên nghiệp.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *