Se il sito è sul tuo pc, e il server MySql è sempre sul tuo pc, l'indirizzo che dovrà indicare ad Apache dov'è il server MySql che deve contattare, è sicuramente localhost.

Se invece in un sito esterno, ospitato in un servizio che non fornisce database, o per qualsiasi motivo vuoi utilizzare il server MySql sul tuo pc, nella configurazione del sito dovrai indicare il tuo ip-pubblicoorta_del_db

dove porta_del_db dev'essere una porta reindirizzata dal router alla macchina che esegue il server MySql (nell'esempio, la tua).

Come ti è stato detto, normalmente il server mysqld risponde sulla 3306, per cui sul router dovrai aprire la porta 3306 verso l'esterno, che viene indirizzata all'ip della tua macchina nella rete locale (che presumibilmente sarà 192.168.x.x) sempre alla porta 3306.

In seconda battuta, per sicurezza, sarebbe meglio cambiare la porta esterna con una più "casuale", ricordandoti di impostarla anche sul webserver (altervista, aruba, ...)