Một chiến lược tốt cho bạn có thể là xác định một người dùng MySQL duy nhất có cùng quyền truy cập vào cả hai cơ sở dữ liệu. Một cái gì đó như thế này:
GRANT ALL ON siteinfo.* TO [email protected] IDENTIFIED BY 'password';
GRANT ALL ON sitedescriptions.* TO [email protected] IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
Khi bạn thiết lập kết nối với tư cách là người dùng đó, bạn sẽ có quyền truy cập vào cả hai cơ sở dữ liệu và có thể tham chiếu chúng dễ dàng bằng cách đặt trước tên bảng của bạn với tên cơ sở dữ liệu.
SELECT * FROM siteinfo.sites;
Bạn thậm chí có thể nối các bảng của mình trên các cơ sở dữ liệu theo cách này mà không gặp khó khăn gì. Vì vậy, để trả lời câu hỏi thứ hai của bạn, để có tất cả ba hàng mô tả cho một trang web, bạn có thể làm điều này (giả sử các trang web có cùng id trong mỗi cơ sở dữ liệu, hoặc cùng một tên hoặc một cái gì đó duy nhất mà bạn có thể tham gia):
SELECT * FROM
siteinfo.sites AS s LEFT JOIN
sitedescriptions.description AS d ON s.siteId=d.siteId
WHERE s.siteId=123;