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

Làm cách nào để đồng bộ hóa hai bảng MySQL có cấu trúc giống nhau và máy chủ khác nhau

Có một số tùy chọn. Một là thiết lập sao chép trong MySQL, sẽ tự động sao chép dữ liệu qua lại giữa các máy chủ và giữ cho chúng được đồng bộ hóa tự động, với mức độ chi tiết trong vài giây khi dữ liệu bay xung quanh. Nhược điểm là bạn phải để ít nhất máy chủ chính tiếp xúc với mạng để cho phép kết nối TCP.

Bên ngoài, bạn có thể thực hiện mysqldump thông thường trên máy chủ A, sao chép sang máy chủ B, tải vào mysql và bạn bắt đầu. Điều này sẽ có mức độ chi tiết của bất kỳ khoảng thời gian nào bạn chạy trình tự kết xuất / sao chép / tải. Nhược điểm là mysqldump khóa các bảng khi nó đang hoạt động. Nếu bạn có một cơ sở dữ liệu lớn, bạn sẽ bị khóa khỏi các bảng của serverA trong khi quá trình kết xuất diễn ra và bị khóa khỏi serverB khi dữ liệu được tải. Và việc tải kết xuất chậm hơn nhiều so với kết xuất ngay từ đầu, vì mysql thực hiện tất cả các loại quản lý nội bộ (cập nhật khóa, cập nhật siêu dữ liệu bảng, v.v.) trong quá trình tải.

Đối với tùy chọn thứ ba, bạn có thể viết trình đồng bộ hóa so sánh các hàng giữa hai cơ sở dữ liệu và cập nhật nếu cần. Tuy nhiên, sau đó bạn đang chuyển nội dung của máy chủ này sang máy chủ kia và thực hiện các thao tác theo hàng. Cộng với việc phải xử lý bất kỳ cập nhật khóa ngoại / quan hệ con phụ thuộc nào, và điều này sẽ trở nên phức tạp khi vội vàng. Tại thời điểm đó, bạn nên sử dụng tùy chọn mysqldump để thay thế.

Tất nhiên, bạn nên nâng cấp MySQL của mình lên một thứ gì đó hiện đại hơn. v4.x đã rất lỗi thời. Bạn phải chạy ít nhất phiên bản 5.0, thay vào đó là phiên bản 5.1.




  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ưu các đối tượng Python Pickled trong MySQL db

  2. Hiệu suất MySQL:MySQL so với MariaDB

  3. Chạy tập lệnh .sql bằng MySQL với JDBC

  4. Phân trang MySQL PHP với thứ tự ngẫu nhiên

  5. Các vị trí gần nhất với vĩ độ và kinh độ