Auto incrementing is done internally. It shouldn't affect security.
I think the biggest worry you need to look at is sql injection.
I don't give out my db name. Unless you have a reason to then I wouldn't bother. The only reason to have it is to connect to it. Not giving it out isn't going to secure it of course

If it accepts incoming connections over the network then that is part of the info they need to get in. The most important part is the password though.
If you published your table names it would be nice for any malicious person, but if they get that far in.. they can find them out for themselves and do a little: drop tablename
The other things would be:
1) protect your backups. backups are an easy way to get the data. (I think some of the stories about data theft are due to people getting backups or files that had information dumped into them like csv)
2) protect the machine that is running your db. If someone gets root/admin privileges on the machine they are going to get in a lot easier.
3) of course put some good passwords on your db and don't give them out.
4) since you are using PHP the connection info shouldn't be flying across the internet for some reason.. so you don't have to worry about someone sniffing out connection info.