質問: **ボールドテキスト**###前提・実現したいこと PHPでMYSQLにリモート接続しようとしましたがうまくいかなかったため調べたところ ホスト名が”%”になっているとNGなので変更したらうまくいった、という記述があったためホスト名を変更したところ ホスト名は”%” → ”192.168.xxx.xxx”に変更されたのですが、 ### 発生している問題・エラーメッセージ 今度はmysql自体に入れなくなってしまいました。 エラーメッセージ Access denied for user 'xxxxx'@'192.168.xxx.xxx'(using password:YES) ### 該当のソースコード mysql>DROP USER user@"%"; mysql>GRANT select,delete,insert,update ON db.* TO user@'192.168.xxx.xxx'IDENTIFIED BY 'password'; mysql>FLUSH PRIVILEGES; ### 試したこと mysqlにセーフモードで入りパスワード変更しようとしましたが、今度は mysqld_safe logging to syslog. mysqld_safe logging to 'var/log/mysql/error.log'. mysqld_safe Directory 'var/run/mysqld' for UNIX socket file don't exists. となりセーフモードに入ることもできません。 1週間近くいろいろ試しましたがどうにもなりません。 リモート接続どころかデータベースにも接続できず困っています。 どうしたらmysqlにはいれるようになるでしょうか? ### 補足情報(言語/FW/ツール等のバージョンなど) mysql ver.14.12
回答: mysql>DROP USER user@"%"; これでユーザー消してますが、'xxxxx'@'192.168.xxx.xxx'のユーザーをcreate userで追加されましたか? root@localhostのユーザーアカウントは消えてない気がしますので、それで入ってユーザーを作ってみては (それすらダメだったらMySQLのdataフォルダ消して再構築かhttp://qiita.com/ferretdayo/items/98b615abf5ade60dac77 をやるとかかな)