Oh merda, isso foi um erro bobo do meu desenvolvedor, depois de 30 minutos de brainstorming para projetar essa consulta de maneira diferente, recebi esse problema de que o desenvolvedor estava usando o join de maneira errada, devido a isso o mysql não conseguiu juntar os dados das tabelas e consumindo todo o espaço no diretório /tmp e lançando este erro. A consulta correta está aqui-
SELECT `PsMasterSubject`.`id`, `PsMasterSubject`.`name`, `PsProgram`.`name`, `PsStreamLevel`.`id`
FROM `misdb`.`ps_master_subjects` AS `PsMasterSubject`
LEFT JOIN `misdb`.`ps_programs` AS `PsProgram` ON (`PsMasterSubject`.`ps_program_id` = `PsProgram`.`id`)
LEFT JOIN `misdb`.`ps_stream_levels` AS `PsStreamLevel` ON (`PsStreamLevel`.`id` = `PsProgram`.`ps_stream_level_id`)
LEFT JOIN `misdb`.`ps_program_levels` AS `PsProgramLevel` ON (`PsProgramLevel`.`id` = `PsStreamLevel`.`ps_program_level_id`)
WHERE 1 = 1
ORDER BY `PsMasterSubject`.`id` DESC LIMIT 10;
Agora, a questão é aqui que é um bug do mysql, pois o mysql deve lançar um erro de sintaxe errado, mas aqui o mysql está tentando criar uma tabela temporária para dados temporários.
Ficarei muito grato se alguém puder esclarecer isso para mim.