両方のデータベースに同じアクセス権を持つ単一のMySQLユーザーを定義することをお勧めします。このようなもの:
GRANT ALL ON siteinfo.* TO [email protected] IDENTIFIED BY 'password';
GRANT ALL ON sitedescriptions.* TO [email protected] IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
そのユーザーとして接続を確立すると、両方のデータベースにアクセスできるようになり、テーブル名の前にデータベース名を付けることで、それらを簡単に参照できます。
SELECT * FROM siteinfo.sites;
この方法で、データベース間でテーブルを問題なく結合することもできます。したがって、2番目の質問に答えるために、サイトの3つの説明行すべてを取得するには、これを行うことができます(サイトが各データベースで同じID、同じ名前、または参加できる一意の何かを持っていると仮定します):
SELECT * FROM
siteinfo.sites AS s LEFT JOIN
sitedescriptions.description AS d ON s.siteId=d.siteId
WHERE s.siteId=123;