専用サーバー(CentOS 5.3)があり、外部から管理者としてmysqlにログインすることはできませんが、サーバーのコマンドラインにあるときはログインできます。私に必要なアクセス権を与える設定がどこかにあるとしますが、どこにいるのかわかりません。
答え1
いくつかの要因がありますが、あなたの質問には、どの要因に直面したかを理解するのに十分な情報が含まれていません。
まず、サーバーがネットワークポートでリッスンしていることを確認してください。 localhostへのループバック接続のみを許可するため、聞くだけでは127.0.0.1
問題は解決されません。あなたは聞かなければなりません0.0.0.0
bind-address=0.0.0.0
次に、TCPネットワークを使用していることを確認してください。 MySQLはローカルソケットのみを使用できるため、構成内の次の行をコメントアウトする必要があります。
#skip-networking
完了したら、mysqldデーモンがリッスンする必要があります。次のようにテストできます。
# netstat -lntp | grep mysqld
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 2652/mysqld
(私の例の出力はlocalhostでのみリッスンしています!例の出力はインターフェイスIPを使用して読み取る必要があります。そうし0.0.0.0
ないと機能しません。)
最後に、mysql自体で正しい権限を設定する必要があります。各ユーザーには接続が許可されているホストがあります。GRANT
ステートメントを実行して権限のみを付与しON 'localhost'
たり、同様のことをしても、まだリモートでログインすることはできません。許可する特定のホストまたは'%'
ホストを含める必要があります。