Dobrou strategií pro vás může být definování jednoho uživatele MySQL, který má stejný přístup k oběma databázím. Něco jako toto:
GRANT ALL ON siteinfo.* TO [email protected] IDENTIFIED BY 'password';
GRANT ALL ON sitedescriptions.* TO [email protected] IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
Jakmile vytvoříte připojení jako tento uživatel, budete mít přístup k oběma databázím a můžete na ně snadno odkazovat přidáním předpony názvů tabulek názvu databáze.
SELECT * FROM siteinfo.sites;
Tímto způsobem můžete dokonce bez problémů spojit své tabulky napříč databázemi. Chcete-li tedy odpovědět na vaši druhou otázku, chcete-li získat všechny tři řádky popisu pro web, můžete to udělat (za předpokladu, že weby mají stejná ID v každé databázi nebo stejný název nebo něco jedinečného, ke kterému se můžete připojit):
SELECT * FROM
siteinfo.sites AS s LEFT JOIN
sitedescriptions.description AS d ON s.siteId=d.siteId
WHERE s.siteId=123;