este problema é abordado nesta apresentação do Scribd (teoria + fórmulas matemáticas + Mysql):Distância geográfica com MySQL Espero que cubra tudo o que você precisa