Como dice Ángel mysql (oracle y sqlserver sí) no soporta recursión en las select.
Sacado de la documentación, podrías hacer
SELECT t1.name AS lev1, t2.name as lev2, t3.name as lev3, t4.name as lev4
FROM category AS t1
LEFT JOIN category AS t2 ON t2.parent = t1.category_id
LEFT JOIN category AS t3 ON t3.parent = t2.category_id
LEFT JOIN category AS t4 ON t4.parent = t3.category_id
WHERE t1.name = 'ELECTRONICS';
Pero tendrías que saber cuantos niveles quieres sacar, es decir, en este ejemplo si existiese un nivel 5, lo perderías. Supongo que aunque sean niveles virtualmente ilimitados, en la realidad sí habrá un límite, ¿va a haber más de 10 subcategorías por ejemplo? Si hay límite puedes hacer tantos join como subcategorías y lo tendrías, el select sería largo (déjate algunos niveles de margen) pero funcionaría.
Si piensas que puede haber infinitos, o no quieres tener esta limitación, queda la otra opción un método recursivo que vaya extrayendo todas las subcategorías por cada una, hasta que no haya más. Pero es una aporximación algo ineficiente, hazte la idea de que por cada categoría vas a realizar un select (tenga o no tenga nodos hijos). Seguramente eso sean muchas consultas.
Aunque sea algo cutre, te recomiendo la primera aproximación, a veces pensamos en hacer algo que valga para toda la casuística posible, pero al final la realidad suele ser más limitada.