Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Cơ sở dữ liệu sao chép MySQL

Đôi khi bạn có thể cần sao chép cơ sở dữ liệu hoặc sao chép cơ sở dữ liệu trong MySQL để tạo cơ sở dữ liệu trùng lặp. Đây là cách sao chép cơ sở dữ liệu trong MySQL.

Cách sao chép cơ sở dữ liệu trong MySQL

Dưới đây là các bước để sao chép cơ sở dữ liệu MySQL.

  1. Tạo một cơ sở dữ liệu trống mới bằng cách sử dụng câu lệnh CREATE DATABASE
  2. Xuất tất cả các đối tượng và dữ liệu cơ sở dữ liệu sang cơ sở dữ liệu mới bằng cách sử dụng mysqldump lệnh
  3. Nhập tệp kết xuất SQL vào cơ sở dữ liệu mới

Phần thưởng đã đọc:Chèn MySQL vào Lựa chọn

Hãy để chúng tôi xem xét các ví dụ khác nhau để sao chép cơ sở dữ liệu MySQL.

Cơ sở dữ liệu sao chép MySQL trên cùng một máy chủ

Giả sử bạn muốn sao chép cơ sở dữ liệu của mình source_db đến cơ sở dữ liệu mới đích_db

Đăng nhập vào MySQL và tạo cơ sở dữ liệu mới đích_db

mysql> create database destination_db;

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| dashboard          |
| destination_db     |
| fedingo            |
| mysql              |
| performance_schema |
| sample             |
| source_db          |
| testdb             |
| wordpress          |
+--------------------+

Xuất các đối tượng và dữ liệu của source_db vào một tệp, giả sử, D:\ db.sql. Bạn sẽ được nhắc nhập mật khẩu.

>mysqldump -u root -p source_db > d:\db.sql
Enter password: **********

Nhập tệp d:\ db.sql vào đích_db

>mysqldump -u root -p destination_db < d:\db.sql
Enter password: **********

Các bước trên sẽ sao chép cơ sở dữ liệu với dữ liệu vào cùng một máy chủ.

Phần thưởng Đọc:MySQL Chọn N Hàng đầu

Lược đồ cơ sở dữ liệu sao chép MySQL

Nếu bạn chỉ muốn sao chép giản đồ cơ sở dữ liệu, hãy sử dụng -d trong lệnh MySQLdump ở trên. Thao tác này sẽ chỉ sao chép cấu trúc cơ sở dữ liệu chứ không sao chép nội dung.

mysql>mysqldump -u root -p -d source_db > d:\db.sql

Nhập cấu trúc cơ sở dữ liệu vào destination_db như trước

mysql>mysql -u root -p -d destination_db < d:\db.sql

Phần thưởng đã đọc:MySQL Xóa các bản ghi trùng lặp

Cơ sở dữ liệu sao chép MySQL trên một máy chủ khác

Nếu bạn muốn sao chép cơ sở dữ liệu trên một máy chủ khác, bạn cần làm theo các bước tương tự nhưng xuất nội dung và đối tượng cơ sở dữ liệu sang máy chủ đích.

  1. Xuất cơ sở dữ liệu nguồn sang tệp SQL
  2. Sao chép tệp SQL vào máy chủ đích
  3. Nhập tệp SQL vào cơ sở dữ liệu đích

Đầu tiên, chúng tôi xuất cơ sở dữ liệu nguồn source_db tới db.sql

>mysqldump -u root -p --databases source_db > d:\db.sql
Enter password: **********

–database tùy chọn sẽ cho phép bạn bao gồm các câu lệnh TẠO CƠ SỞ DỮ LIỆU và SỬ DỤNG trong tệp SQL của bạn.

Tiếp theo, sao chép tệp SQL sang một máy chủ khác (ví dụ:F:\ db.sql)

Cuối cùng, nhập tệp SQL vào cơ sở dữ liệu đích.

>mysql -u root -p destination_db < f:\db.sql 
Enter password: **********

Phần thưởng đã đọc:Cách thực hiện quy trình đã lưu trữ trong Workbench

Cơ sở dữ liệu sao chép MySQL mà không có MySQLdump

Nếu bạn muốn sao chép cơ sở dữ liệu mà không có MySQLdump, thì bạn sẽ phải sao chép thủ công từng bảng trong cơ sở dữ liệu nguồn sang cơ sở dữ liệu đích.

Đây là truy vấn SQL để sao chép bảng bán hàng từ source_db cơ sở dữ liệu đến đích_db cơ sở dữ liệu

CREATE TABLE destination_db.sales 
LIKE source_db.sales;

INSERT destination_db.sales 
SELECT *
FROM source_db.sales;

Câu lệnh đầu tiên sẽ sao chép cấu trúc bảng trong MySQL từ cơ sở dữ liệu nguồn (ví dụ: source_db ) đến một khác (ví dụ: đích_db . Câu lệnh thứ hai sẽ sao chép dữ liệu từ bảng này sang bảng khác. Bạn sẽ phải thực hiện các câu lệnh trên cho mỗi bảng cơ sở dữ liệu hoặc viết một tập lệnh tạo và thực thi câu lệnh trên cho tất cả các bảng trong cơ sở dữ liệu của bạn.

Ubiq giúp dễ dàng trực quan hóa dữ liệu trong vài phút và theo dõi trong trang tổng quan thời gian thực. Thử nó ngay hôm nay!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PolyScale.ai - Mở rộng MySQL &PostgreSQL với Global Caching

  2. Một cái nhìn chuyên sâu về Lập chỉ mục cơ sở dữ liệu

  3. MySQL DATEDIFF () so với TIMESTAMPDIFF ():Sự khác biệt là gì?

  4. Giá trị gia tăng trong truy vấn cập nhật MySQL

  5. Tạo một bảng tạm thời trong một câu lệnh SELECT mà không có một bảng CREATE TABLE riêng biệt