Nie przechowujesz swoich danych we właściwy sposób. W każdym razie, jeśli nadal chcesz używać tego schematu, powinieneś użyć ZNAJDŹ_IN_SET zamiast LIKE, aby uniknąć niepożądanych rezultatów.
SELECT *
FROM mytable
WHERE FIND_IN_SET(2, ancestors) <> 0