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

Cách đồng bộ cơ sở dữ liệu MySQL giữa hai cơ sở dữ liệu từ xa (không có kỹ thuật sao chép cơ sở dữ liệu MySQL)

Khi câu hỏi yêu cầu đồng bộ hóa tất cả dữ liệu từ máy chủ này sang máy chủ khác, tôi nghĩ bạn có thể sử dụng một giải pháp tương đối đơn giản, liên quan đến mysqldump .

Tôi nghĩ rằng bạn có thể làm tất cả điều này từ máy chủ chuyên dụng:

mysqldump --user=<username> --password=<password> --host=<server 1 hostname> --port=<port> --add-drop-database <database name> > dump.sql

Thay thế <username> , <password> , <port><server 1 hostname> với chi tiết kết nối cho máy chủ 1. Thay thế bằng tên của cơ sở dữ liệu trên máy chủ 1 mà bạn muốn sao chép sang máy chủ 2. Nếu bạn muốn sao chép tất cả cơ sở dữ liệu, hãy thay thế bằng tùy chọn --all-databases.

Điều này sẽ tạo một tệp có tên là dump.sql trong thư mục hiện tại. Sau đó, bạn có thể tải nó vào máy chủ 2:

mysql --user=<username> --password=<password> --host=<server 2 hostname> --port=<port> <database name> < dump.sql

Thay thế <username> , <password> , <port><server 2 hostname> với chi tiết kết nối cho máy chủ 2.

Thao tác này sẽ lấy tệp dump.sql và tải nó vào cơ sở dữ liệu trên máy chủ 2. Thao tác này sẽ xóa cơ sở dữ liệu trên máy chủ 2 - vì vậy tất cả dữ liệu hiện có sẽ được thay thế bằng dữ liệu đó trong dump.sql .

Kiểm tra các tùy chọn để mysqldump (liên quan đến cơ sở dữ liệu thả, bảng thả, v.v.) và điều chỉnh các lệnh trên để phù hợp với tình huống của bạn. Tôi nghĩ, nếu bạn kết nối mọi thứ một cách chính xác, bạn thậm chí có thể bỏ qua tệp trung gian và kết nối mysqldump trên máy chủ 1 với mysql trên máy chủ 2 bằng cách sử dụng một ổ cắm.

Để đề cập đến phần 'tự động' của câu hỏi này, bạn có thể chạy các lệnh trên trong cron và lập lịch chạy chúng vào ngày đầu tiên hàng tháng vào một thời điểm thích hợp.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để thêm mode =mysql vào H2 DB được nhúng trong Spring Boot 1.4.1 cho @DataJpaTest?

  2. tạo trang đăng nhập bằng PHP

  3. Truy vấn này có an toàn khi tiêm sql không?

  4. Chuyển đổi ngày thành mili giây trong MySQL

  5. php mySQL group concat và group by