Best approach to compare specific columns of 2 tables in different databases?
So, your approach is good in my opinion, with little tweaks:

First, when you create the temp table, or when you are generating the hash value, use DATE function (You mentioned is but not sure you're using it in the query): 

SELECT ...., crc32(CONCAT(column1, DATE(column10))), 

so you don't have to deal with 'fuzziness' [Assuming that you want the preciseness to be at day level]

To get the records that exist in one table, and not the other:

SELECT applicationtable.id, applicationtable.column1 
FROM applicationtable 
LEFT JOIN backendtable USING (id, column1) 
WHERE backendtable.id IS NULL [AND backendtable.column1 IS NULL]
UNION
SELECT backendtable.id, backendtable.column1 
FROM backendtable 
LEFT JOIN applicationtable USING (id, column1) 
WHERE applicationtable.id IS NULL [AND applicationtable.column1 IS NULL]


To get the records that have different values for the same PK:

SELECT applicationtable.id, applicationtable.column1 
FROM applicationtable 
INNER JOIN backendtable USING (id, column1) 
WHERE applicationtable.crc32_value &lt;&gt; backendtable.crc32_value


Be careful though:


If NULL value is allowed in column2 or in column10, CRC32 would give the same "null", even if the second field has a value, and this will not be reported by the query as "NULL &lt;&gt; NULL"
It is very unlikely to get collided CRC32 values, but it is not impossible. MD5 would be an option, but more expensive one. 
Having [AND backendtable.column1 IS NULL] in the WHERE clause is not necessary if the field is defined to be NOT NULL