Så jag kom på det till slut, det hände eftersom rank
är nu ett reserverat sökord i MySQL 8.x.x som beskrivs här .
När jag uppdaterade variabelnamnet började frågan fungera.
Ett annat alternativ är att använda back-ticks vilket jag tror är mer framtidssäkert eftersom fler sökord blir reserverade, det kommer att förhindra att din SQL går sönder i onödan. T.ex. Följande fungerar bra på MySQL v8.x.x
T.ex.:
SELECT *, @rank := @rank + 1 AS `rank`
FROM q29wg_jreviews_comments ;