2013-02-02 71 views
16

Tôi có cơ sở dữ liệu MySQL cục bộ thay đổi đôi khi, khi thay đổi tôi muốn đồng bộ hóa với cơ sở dữ liệu Từ xa. Tôi đang sử dụng tùy chọn đồng bộ hóa của PhpMyAdmin cho nó.Đồng bộ hóa cơ sở dữ liệu MySQL từ xa và cục bộ bằng cách sử dụng phpMyAdmin

Tôi đã cấp quyền cho tất cả IP để kết nối từ xa.

Sự cố: Khi tôi muốn đồng bộ hóa cơ sở dữ liệu từ xa với cơ sở dữ liệu cục bộ bằng tùy chọn đồng bộ của PhpMyAdmin. Nó chỉ cho thấy sự khác biệt về cấu trúc cơ sở dữ liệu nhưng dữ liệu cũng khác nhau trên cả hai cơ sở dữ liệu nhưng nó không cho thấy sự khác biệt đó.

Và khi tôi đồng bộ hóa cơ sở dữ liệu bằng cách nhấp vào nút Synchronize Database và một lần nữa thực hiện đồng bộ hóa. Nó một lần nữa cho thấy đồng bộ hóa cấu trúc giống nhau.

Xem hình ảnh dưới đây enter image description here

Nếu ai có giải pháp thay thế cho nó vui lòng cũng nói rằng. địa phương Chi tiết OS: Windows7 phần mềm: EasyPHP12.0 từ xa Chi tiết Server: Linux Cpanel phpMyAdmin

+0

Bạn đang cố gắng kết nối và quản lý một MySQL từ xa? –

+0

vâng tôi muốn kết nối từ xa với địa phương –

+0

tìm kiếm Google để sao chép MySQL. –

Trả lời

13

mở phpMyAdmin/config.inc.php và thêm những dòng này về "Server Configuration".

$i++; 
$cfg['Servers'][$i]['host']   = '<remote-server-address>'; // Remote MySQL hostname or IP address 
$cfg['Servers'][$i]['port']   = '';   // MySQL port - leave blank for default port 
$cfg['Servers'][$i]['socket']  = '';   // Path to the socket - leave blank for default socket 
$cfg['Servers'][$i]['connect_type'] = 'tcp';  // How to connect to MySQL server ('tcp' or 'socket') 
$cfg['Servers'][$i]['extension']  = 'mysql';  // The php MySQL extension to use ('mysql' or 'mysqli') 
$cfg['Servers'][$i]['compress']  = FALSE;  // Use compressed protocol for the MySQL connection 
$cfg['Servers'][$i]['auth_type']  = 'config'; // Authentication method (config, http or cookie based)? 
$cfg['Servers'][$i]['user']   = '<db-username>';  // Remote MySQL user 
$cfg['Servers'][$i]['password']  = '<db-password>';  // Remote MySQL password 

Bây giờ có một thả xuống 'máy chủ' trên trang trước phpMyAdmin của bạn. Chọn sever và bingo của bạn!

Điểm Uy Tín: codejourneymen

Và, có rất nhiều ví dụ, có thể giúp:

phpadmin remote database

+0

Điều này là tốt. Nhưng tôi muốn thêm bản ghi từ cơ sở dữ liệu cục bộ vào cơ sở dữ liệu từ xa nếu chúng không tồn tại ở đó. –

+0

Bạn có thể sử dụng giao diện phpMyAdmin để thực hiện sau khi kết nối máy chủ từ xa như đã giải thích ở trên. –

2

câu trả lời của tôi là không liên quan đến phpMyAdmin, nhưng dù sao, hãy để tôi khuyên bạn nên Schema/Data comparison tools trong dbForge Studio cho MySQL. Những công cụ này sẽ giúp bạn tìm, xem sự khác biệt và đồng bộ hóa hai cơ sở dữ liệu.

Nếu bạn không có quyền truy nhập vào cơ sở dữ liệu từ xa, bạn có thể sử dụng kết nối đường hầm HTTP hoặc sử dụng kết nối bảo mật SSL/SSH.

1

Thử sử dụng Tác nhân tác vụ SQLyog (SJA) Trên Windows, nó có sẵn với MySQL GUI SQLyog từng đoạt giải thưởng. Phiên bản Linux của SJA là miễn phí, và có thể được tải về từ webyog.com

Check here

+0

Tôi không muốn sử dụng các công cụ của bên thứ ba này. Tôi muốn đồng bộ hóa bằng cách sử dụng mã PHP đầu tiên. –

+0

Phiên bản cộng đồng "miễn phí" không cung cấp công cụ đồng bộ hóa! – Meloman

0

Trong khi tạo bảng tôi sẽ cho phép các máy chủ từ xa để sử dụng ngay cả con số và để cho máy chủ địa phương để thêm số lẻ cho increment tự động. Sau đó, có một tập lệnh để kéo hoặc đẩy dữ liệu giữa các máy chủ mà không có bất kỳ vấn đề trùng lặp nào.

0

Tôi không hiểu tại sao bạn không chỉ cập nhật điều khiển từ xa và bỏ tất cả DB cục bộ. Đề xuất: Bạn có thể muốn thiết lập hai điều khiển từ xa - EX: dev.domain.com, www.domain.com. liên kết mã địa phương với dev và cập nhật/kiểm tra sau đó khi bạn muốn đi đến sản xuất chỉ dữ liệu dump dev trên www DB.An toàn và dự phòng sẵn sàng khi DB cục bộ ngừng hoạt động.

Các vấn đề liên quan