Setup spatial extensions for your database, if you have not done that already.
Store latitude/longitude of your 1M locations in a geography-type column in the database.
Create a spatial index on that column.
Run a SELECT query with a WHERE clause based on distance between your point of interest and locations in the table. The query will utilize the above index.
Here is a good article on using spatial extension in MySQL 5.6 for exactly this sort of things.