No, no necesitas una clave principal para hacer que una tabla funcione en MySQL. Dicho esto, una clave principal permite que un valor único se refiera a una fila en una tabla desde otra tabla, o en cualquier código que use la tabla.
Necesita una clave principal para que una tabla funcione bien aunque en MySQL. Los índices (de los cuales la clave principal es uno) permiten a MySQL buscar a través de subconjuntos pequeños y altamente optimizados de la tabla para procesar relaciones y búsquedas. En general, cualquier campo que utilice en un WHERE
La cláusula o el uso para vincular dos tablas deben indexarse.