自宅サーバーのxampp環境のmysqlが急に繋がらなくなり、調べてもなかなか回答が見つからなかったのだが、なんとか出たので解決。ググっても出ないということは自分が書けばこのページが引っかかるのでお役に立てば。Windows環境なので余り役立つか分かりませんが。
症状:
今までちゃんと動いていたxampp環境(php+mysql)がある時「Host ‘localhost’ is not allowed to connect to this MySQL server」とエラーがでてDBに繋がらなくなる。
どゆこと?:
「localhostから繋ぐのは許可されてないよ」
普通外部から繋ぐ時に出るエラーで、そういう時はこの辺が解決方法なのだがサーバーマシン(localhost)からも繋げないってありえん。
確認:
windowsアップデートで何かしらの原因でwindowsのファイヤーウォールが勝手に有効になってしまった場合が考えられるが今回は違った。他、ウィルスソフトとかも見たが特に遮断しているとかは見つからず
解決法:
外国のサイトをくまなくチェックしたらやっと見つけた。
#1130 – Host ‘localhost’ is not allowed to connect to this MySQL server – Powered by Infopop
http://friendsofed.infopop.net/2/OpenTopic?a=tpc&s=989094322&f=8033053165&m=4581078141
ここの「you’re obviously on Windows. Uninstall MySQL, go to C:\Program Files\MySQL\MySQL Server 5.0\data, and delete the mysql folder. Then reinstall MySQL.」という発言を実行したら解決
1、mysqlが起動してたらまずシャットダウン
2、C:\xampp\mysql\dataにあるmysqlディレクトリを削除
3、xamppでmysqlだけをもう一度インストール
結局mysqlの初期設定データが何かしらのはずみでぶっ壊れたようなのか?インストール時に繋がらないのは分かるのだが、今回今まで普通に繋がってたのに急に繋がんなくなったし。
で、これで解決したけど、C:\xampp\mysql\data\mysqlはいろんなwebアプリで使ってるDBのID・passが収まっているところなので、もっかい
GRANT ALL PRIVILEGES ON DB***.* TO ID***@localhost IDENTIFIED BY ‘pass***’;
を設定しなきゃいけないけど。

fmfc says:
>ググっても出ないということは自分が書けばこのページが引っかかるのでお役に立てば。
Cent/OS環境ですが、とても参考になりました!