MySQL サーバー データベースにリモート接続します。エラー コードは 1130 です。エラー 1130: ホスト xxx.xxx.xxx.xxx は、この MySQL サーバーへの接続を許可されていません
理由は 2 つあると思います。1 つは MySQL の制限によるもので、もう 1 つはファイアウォールの制限です。
1. ファイアウォール制限を解決します。
MySQL サービス ホストのファイアウォールをオフにするか、詳細ファイアウォール設定で受信ルールと送信ルールを追加し、MySQL ポートを追加して、MySQL ポートを介したホストへのアクセスを許可します。
ファイアウォール設定を変更します(システムが異なり、ファイアウォール設定ファイルが異なります)ブロガーはcentos7にiptablesをインストールしています
$ vi /etc/sysconfig/iptables
それを開いた後、設定ファイルに行を追加します
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
保存して終了します
再起動ファイアウォール (centos7)
systemctlrestart iptables.service
2. MySQL の制限を解決するには、MySQL サービスのホスト上で次の SQL を実行します
ローカルで mysql にログインした後、「mysql」内の「user」テーブルの「host」項目を変更します。 " データベースを作成し、"localhost" '%' から名前を変更します
mysql にログインします
mysql -u root -p
mysql データベースを選択します
mysql;use mysql;
mysql ライブラリ内のユーザー テーブルのホスト値 (つまり、ホスト/IP 名) を表示します接続アクセス用)
mysql;select 'host' from user where user='root';
ホスト値を変更します (ワイルドカード % を使用してホスト/IP アドレスをコンテンツに追加します)。もちろん、IP アドレスを直接追加することもできます
この手順でエラーが発生した場合は、「エラー 1062」 (23000): キー 'PRIMARY' のエントリ '%-root' が重複しています。」は、レコードが存在することを意味します。スキップしてください。この手順
mysql;update user set host = '%' where user ='root';
アクセス許可を変更します (root はアカウント名、% はホスト名 (任意のホスト)、525099302)はパスワードですパスワードは自分で選択できます)
GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY "525099302";
権限を更新すると、mysqlが直接有効になります
flush privileges;
mysqlサービスを再起動するだけで完了です。
以上がMySQL が接続とレポートを制限する問題を解決する方法 1130の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。