mysql サーバーでリモート アクセスを有効にしました。これを行うには、データベース 'mysql' に移動し、次に user テーブルに移動して、Host 列を適切なユーザーの '%' に変更しました。これを行った後、ローカルでアクセスできないことに気付きました。つまり、SHELL 経由でサーバーにログインしているときに、ログインできません。
ローカル アクセスとリモート アクセスの両方を持つことはできませんか?
mysql サーバーでリモート アクセスを有効にしました。これを行うには、データベース 'mysql' に移動し、次に user テーブルに移動して、Host 列を適切なユーザーの '%' に変更しました。これを行った後、ローカルでアクセスできないことに気付きました。つまり、SHELL 経由でサーバーにログインしているときに、ログインできません。
ローカル アクセスとリモート アクセスの両方を持つことはできませんか?
ローカル UNIX ソケット タイプの接続を有効にするには、値が「localhost」のmysql.user
テーブルに別の行が必要です。host
列の値は'%'
、host
TCP プロトコル用です。
ドキュメントの詳細: http://dev.mysql.com/doc/refman/5.5/en/connecting.html
mysql.user
テーブルにはユーザー用の 3 つの行があり、host
値は'localhost'
(UNIX ソケット タイプの接続の場合)、'127.0.0.1'
ローカル ホストからの TCP 経由のアクセス、および'%'
他のホストからの TCP アクセス用です。
MySQL は、「ユーザー名」だけでなく、「ユーザー名」と「ホスト」の組み合わせでユーザーを識別することに注意してください。これらは別個のユーザーと見なされ、それぞれが異なるパスワードと異なる権限セットを持つことができます。