Le problème ne concerne pas les différentes bases de données.
Votre clause WHERE fait référence au champ database_1.table_1.data_1 qui n'a pas été fourni dans la clause FROM.
Ne vouliez-vous pas dire quelque chose comme
SELECT *
FROM database_2.table_2
JOIN database_1.table_1
ON (database_2.table_2.some_field = database_1.table_1.some_other_field)
WHERE database_1.table_1.data_1 LIKE database_2.table_2.data_2
?
Aussi,
echo mysql_error();
après l'échec de votre requête - cela vous donnera une idée de ce qui ne va pas.