Thứ tư, 21/12/2016 | 00:00 GMT+7

Cách nhập và xuất cơ sở dữ liệu trong MySQL hoặc MariaDB

Có thể nhập và xuất database của bạn là một kỹ năng quan trọng cần có. Bạn có thể sử dụng kết xuất dữ liệu cho mục đích sao lưu và phục hồi, cho phép bạn khôi phục các bản sao cũ hơn của database của bạn trong trường hợp khẩn cấp. Bạn cũng có thể sử dụng chúng để di chuyển dữ liệu sang server hoặc môi trường phát triển mới.

Làm việc với kết xuất database trong MySQL và MariaDB khá đơn giản. Hướng dẫn này sẽ trình bày cách xuất database cũng như nhập nó từ file kết xuất trong MySQL và MariaDB.

Yêu cầu

Để nhập và / hoặc xuất database MySQL hoặc MariaDB, bạn cần :

  • Truy cập vào server Linux chạy MySQL hoặc MariaDB
  • Tên database và thông tin đăng nhập user cho nó

Xuất database

Tiện ích console mysqldump được sử dụng để xuất database sang file văn bản SQL, giúp việc chuyển và di chuyển tương đối dễ dàng. Bạn cần chính tên database cũng như tên user và password cho một account có quyền cho phép ít nhất là toàn quyền truy cập chỉ đọc vào database .

Xuất database của bạn bằng cấu trúc lệnh sau:

  • mysqldump -u username -p database_name > data-dump.sql
  • 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

Lệnh sẽ không tạo ra kết quả trực quan, nhưng bạn có thể kiểm tra nội dung của filename.sql để kiểm tra xem đó có phải là file kết xuất SQL hợp lệ hay không bằng cách chạy lệnh sau:

  • head -n 5 data-dump.sql

Phần đầu của file sẽ trông tương tự như thế này, cho thấy rằng đó là kết xuất MySQL cho database 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 có bất kỳ lỗi nào xảy ra trong quá trình xuất, thay vào đó, mysqldump sẽ in chúng ra màn hình một cách rõ ràng.

Nhập database

Để nhập file kết xuất hiện có vào MySQL hoặc MariaDB, bạn sẽ phải tạo database mới. Đây là nơi mà nội dung của file kết xuất sẽ được nhập.

Đầu tiên, đăng nhập vào database như là user root hoặc user khác có đủ quyền để tạo database mới:

  • mysql -u root -p

Điều này sẽ đưa bạn đến dấu nhắc shell MySQL. Tiếp theo, tạo một database mới bằng lệnh sau. Trong ví dụ này, database mới được gọi là new_database :

  • CREATE DATABASE new_database;

Bạn sẽ thấy kết quả này xác nhận nó đã được tạo.

Output
Query OK, 1 row affected (0.00 sec)

Sau đó, thoát khỏi shell MySQL bằng cách nhấn CTRL+D Từ dòng lệnh bình thường, bạn có thể nhập file kết xuất bằng lệnh sau:

  • mysql -u username -p new_database < data-dump.sql
  • 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

Nếu lệnh chạy thành công, nó sẽ không tạo ra bất kỳ kết quả 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 terminal để thay thế. Bạn có thể kiểm tra xem database đã được nhập chưa bằng cách đăng nhập lại vào MySQL shell và kiểm tra dữ liệu. Điều này có thể được thực hiện bằng cách chọn database mới với USE new_database và sau đó sử dụng SHOW TABLES; hoặc một lệnh tương tự để xem một số dữ liệu.

Kết luận

Đến đây bạn đã biết cách tạo kết xuất database từ database MySQL cũng như cách nhập lại chúng. mysqldump có nhiều cài đặt bổ sung được dùng để thay đổi cách kết xuất được tạo, bạn có thể tìm hiểu thêm từ trang tài liệu chính thức của mysqldump .


Tags:

Các tin trước

Cách thay đổi thư mục dữ liệu MySQL sang vị trí mới trên CentOS 7 2016-12-19
Cách thay đổi thư mục dữ liệu MySQL sang vị trí mới bằng cách sử dụng liên kết biểu tượng 2016-12-02
Cách cài đặt MySQL trên CentOS 7 2016-12-01
Cách cài đặt MySQL trên Ubuntu 16.04 2016-11-23
Cách kết nối với server MySQL từ xa bằng MySQL Workbench 2016-10-21
Cách cấu hình một cụm Galera với MySQL 5.6 trên Ubuntu 16.04 2016-09-02
Cách di chuyển thư mục dữ liệu MySQL đến vị trí mới trên Ubuntu 16.04 2016-07-21
Cách tạo một cụm MySQL nhiều node trên Ubuntu 16.04 2016-06-17
Cách cài đặt MySQL trên Ubuntu 14.04 2016-03-08
Cơ sở hạ tầng SaltStack: Tạo Salt States cho server Cơ sở dữ liệu MySQL 2015-10-05