[解決済み】ホスト 'xxx.xx.xxx.xxx' がこのMySQLサーバーへの接続を許可されていない。
質問
簡単なことなのですが、私は
できない
どうしてもうまくいきません。
MySQLサーバーにリモートで接続しようとしているところです。
- として接続します。
mysql -u root -h localhost -p
- は正常に動作しますが、試してみてください。
mysql -u root -h 'any ip address here' -p
- はエラーで失敗します。
ERROR 1130 (00000): Host ''xxx.xx.xxx.xxx'' is not allowed to connect to this MySQL server
で
mysql.user
テーブルには、ホスト 'localhost' を持つユーザ 'root' のエントリと、ホスト '%' を持つ別のエントリがまったく同じように存在します。
どうしたらいいのかわからず、途方に暮れています。 どんなアイデアでも歓迎します。
どのように解決するのですか?
セキュリティ上の予防措置の可能性があります。新しい管理者アカウントを追加してみてはいかがでしょうか。
mysql> CREATE USER 'monty'@'localhost' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost'
-> WITH GRANT OPTION;
mysql> CREATE USER 'monty'@'%' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%'
-> WITH GRANT OPTION;
パスカルや他の人が指摘しているように、この種のアクセス権を持つユーザーをどのIPにも開放するのは良いアイデアではありません。もし管理ユーザが必要なら、rootを使い、それをlocalhostに置いてください。それ以外の場合は、必要な権限を正確に指定し、Pascalが提案するように、ユーザのアクセス権を制限してください。
編集する
MySQL FAQより。
が表示される原因がわからない場合 アクセス拒否された場合、ユーザー テーブルのすべてのエントリで、Host の値は、ワイルドカードを含む(エントリー または'_'文字を含むもの)。A 非常に一般的なエラーは、新しい のエントリは、Host='%'と User='some_user'であると考え、このようにします。 ローカルホストを指定することで は同じマシンから接続します。しかし これがうまくいかない理由は デフォルトの特権には のエントリは、Host='localhost' と User=''です。このエントリでは、ホスト の値である「localhost」よりも よりも具体的であるため、'%' が使用されます。 の場合、新しいエントリよりも優先されます。 ローカルホストからの接続 正しい 手順としては、2番目のエントリを挿入します。 で、Host='localhost' と User='some_user'を削除するか、あるいは のエントリは、Host='localhost' と User=''です。エントリーを削除した後 を発行することを忘れないでください。 ステートメントを使用して、グラントテーブルを再読み込みします。 また、項5.4.4, "アクセス 制御、ステージ1:接続 検証」を参照してください。
関連
-
MySQLとのPython統合でAttributeErrorが発生する: モジュール 'socket' には 'AF_UNIX' という属性がない
-
[解決済み】MySQLを使用してランダムでユニークな8文字の文字列を生成する方法
-
[解決済み】MySQLで日付を比較する
-
[解決済み】MySQL エラー #1133 - ユーザー テーブルに一致する行が見つかりません。
-
[解決済み] #1136 - 列数が 1 行目の値数と一致しません。
-
[解決済み] MySQLのカラムを並べ替えるには?
-
[解決済み] mysql サーバーがクラッシュした -mysqld got signal 6
-
[解決済み] エラー 1698 (28000)。ユーザー 'root'@'localhost' のアクセスが拒否されました。
-
[解決済み] MySQL ERROR 1045 (28000)。ユーザー 'bill'@'localhost' (使用パスワード: YES)のアクセスが拒否されました。
-
[解決済み】macOSでbrew install mysqlをする。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】#1273 - 不明な照合順序:'utf8mb4_unicode_520_ci'
-
[解決済み】MySQLのforeachループ
-
[解決済み] エラー:テーブル '<table-name>' に対するユーザー '<userid>'@'<ip-address>' への select コマンドが拒否されました。
-
[解決済み] エラー 1044 (42000)。データベース 'db' へのユーザー ''@'localhost'' のアクセスが拒否されました。
-
[解決済み] このMySQLエラー Incorrect column specifier for column COLUMN NAMEを回避するにはどうしたらよいですか?
-
[解決済み] WindowsでMySQLの画面コンソールをクリアする方法は?
-
[解決済み] DateTime 日付と時間によるグループ化
-
[解決済み] MySQLのカラムを並べ替えるには?
-
[解決済み] SQLSTATE[22003]: 数値の範囲外: 1264 範囲外の値です。
-
[解決済み] ERROR 1130 (HY000): ホスト '' はこの MySQL サーバーへの接続を許可されていません [重複] 。