Eine gute Strategie für Sie könnte darin bestehen, einen einzelnen MySQL-Benutzer zu definieren, der denselben Zugriff auf beide Datenbanken hat. Etwa so:
GRANT ALL ON siteinfo.* TO [email protected] IDENTIFIED BY 'password';
GRANT ALL ON sitedescriptions.* TO [email protected] IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
Sobald Sie als dieser Benutzer eine Verbindung hergestellt haben, haben Sie Zugriff auf beide Datenbanken und können einfach auf sie verweisen, indem Sie Ihren Tabellennamen den Datenbanknamen voranstellen.
SELECT * FROM siteinfo.sites;
Sogar Ihre Tabellen können Sie auf diese Weise problemlos datenbankübergreifend zusammenführen. Um Ihre zweite Frage zu beantworten und alle drei Beschreibungszeilen für eine Site zu erhalten, könnten Sie Folgendes tun (vorausgesetzt, die Sites haben in jeder Datenbank dieselben IDs oder denselben Namen oder etwas Einzigartiges, dem Sie beitreten können):
SELECT * FROM
siteinfo.sites AS s LEFT JOIN
sitedescriptions.description AS d ON s.siteId=d.siteId
WHERE s.siteId=123;