2012-03-27 7 views
1

mysqlにリモートで接続できるようにするためです。ホスト名 "localhost"を "%"に変更するのではなく、ユーザー名 "root"を "%"に変更してmysqlを再起動しました サービス。これで、mysqlにローカルでログインすることも、リモートからログインすることもできなくなりました。この問題を解決するには?ありがとう
進歩!usrname "root"を "%"に変更した後、私はもうmysqlサーバに接続できません

答えて

1

おそらく、セキュリティを更新して間違いました。

あなたは、任意の認証なしでMySQLを再起動して、何が悪かったのか確認するために再接続することができます。

http://dev.mysql.com/doc/refman/5.0/en/server-options.html#option_mysqld_skip-grant-tables

を注:MySQLを実行しているサーバーからこれを実行する必要があります。

セキュリティ設定の問題を理解するのに役立つ必要がある場合は、関連する認証テーブルの内容を投稿します(ただし、パスワードハッシュを送信しないでください。有効なパスワードはハッシュから再構築できます)。

+0

私は自分のサーバーにlamppをインストールしました。 mysqlサービスを別々に再起動するには? – xuqin1019

+0

オプション--skip-grant-tablesでmysqlサービスを再起動しました。また、usernameとpasswdを使わずにmysqlに接続します。この時点では、次のエラーが表示されます。ERROR 2002(HY000):ソケット '/opt/lampp/var/mysql/mysql.sock'(2)を介してローカルMySQLサーバーに接続できません。私は本当にこれを解決する方法を知らないうちに私はmysqlに新しいです – xuqin1019

1

ユーザー名を変更した場合は、rootではなく "%"を使用してログインする必要があります。ユーザーフィールドではなくホストフィールドを変更したいとします。通常、リモートログインに必要な権限を少なくしたいとします。たとえば、リモートログインには「DROP」権限はありません。

同じログイン/パスワードの組み合わせは、ログイン先によって異なる権限を持つことができます。ユーザー名は、ログインしている名前+ホストと考えることができます。

+0

しかし、私はユーザー名 "%"でmysqlにログインできないと混乱しています。私はmysqlが特殊文字として "%"を扱っているからですか? – xuqin1019

+0

%はホスト内のワイルドカード文字ですが、ユーザー名ではありません。あなたが何をしたのか分からない。 –

関連する問題