Isso ocorre porque o aplicativo que está usando a CPU ( john no seu caso, mas mysqld faz o mesmo ao executar uma única consulta) é monothread, portanto, ele pode usar apenas um núcleo de cada vez. Um aplicativo que suporta multithreading poderá usar mais de um núcleo ao mesmo tempo.