Det enda jag kan komma på är att inspektera vad mysqld verkligen gör med strace, som användarrot:
strace -p 2959
Normalt bör strace blockera omedelbart och visa dig ett anrop till select(), eftersom mysqld borde vänta på anslutningar.
Samtalet bör vara något i stil med:
select(SOCKETNO, [OTHER_FDs], NULL, NULL, NULL)
särskilt viktig är den fjärde parametern, som är en timeout-tid. Om NULL betyder det att mysqld kommer att sova tills någon ansluter. Om inte NULL betyder det att mysqld kommer att vänta på den angivna tiden och sedan utföra en del underhållsarbete. En mycket liten tidsperiod kan förklara CPU-förbrukningen.
Jag tror att MySQL alltid använder en NULL (oändlig) timeout. Det är vettigt och det är så här mysqlds jag kan nå nu beter sig.
Det kan dock finnas vissa anslutningshanteringsproblem som hindrar select från att sova igen. Kontrollera om detta beteende visas så snart mysqld startar, eller efter att någon anslutit.