In MySql triggers, what is the correct syntax for referring to a column name which is a reserved word?

the error message is: SQL Error (1064): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 5.

Line 5 is the line which contains first semicolon in your code. You forget about DELIMITER reassign.

So

DELIMITER ;;

CREATE TRIGGER `db_name`.`trigger_name` BEFORE DELETE ON `db_name`.`table1_name` 
FOR EACH ROW 
BEGIN 
INSERT INTO `db_name`.`table2_name`(table2_id,`comment`,record_created_date) 
VALUES (OLD.id, OLD.`comment`, NOW()); 
END
;;

DELIMITER ;

But your trigger consists from only one statement, so remove both BEGIN and END lines. DELIMITER reassign not needed in this case.

CREATE TRIGGER `db_name`.`trigger_name` BEFORE DELETE ON `db_name`.`table1_name` 
FOR EACH ROW 
INSERT INTO `db_name`.`table2_name`(table2_id,`comment`,record_created_date) 
VALUES (OLD.id, OLD.`comment`, NOW()); 

PS. Use autoutilizing (DEFAULT CURRENT_TIMESTAMP) for db_name.table2_name.record_created_date column, and you may skip it away from INSERT.