ハマってばっかりでどんだけアホなんだろうって思いますが。
古いサーバーから新しいサーバーに移行するのにmysqlのmysqlデータベースのuser をリストアすれば良いんですがせっかくなのでユーザー名を変えてやろうと思ったのが悪かったんですね(^_^.)
GRANT SELECT,INSERT,UPDATE,DELETE ON *.* TO hogehoge@’%’ IDENTIFIED BY ‘password’;
なんて感じでユーザーを作成しそのユーザーでDBにアクセスすると、・
Access denied ~
なんてエラーが。
はい。
もうわかりますよね(^_^.)
localhostのユーザーでアクセスする場合は
hogehoge@localhost
とちゃんと指定してあげないとダメです。
ワイルドカード指定は効きません。
ってページにもちゃんと書いてあります。
抜粋してみると、
だそうです。
要はlocalhostで稼動しているmysqlサーバーにlocalhostから接続するユーザーは @localhost を付けなさい。
という事で。
なぜこのような事が起きるかもちゃんと書いてありますよ。
ちなみになんでこういう失敗をしたかと言うと単純に新規ユーザーのインサート文をシェルで作ってたときに@’%’をつけていたのが原因。
もう注意散漫過ぎ(-_-;)
でわでわ。
High Performance MySQL: Optimization, Backups, and Replication