LinuxでMySQLのリモートアクセス権を有効にし、ファイアウォールでポート3306を開きます。

LinuxでMySQLのリモートアクセス権を有効にし、ファイアウォールでポート3306を開きます。

mysqlのリモートアクセス権を有効にする

デフォルトでは、MySQL ユーザーにはリモート アクセス権限がないため、プログラムとデータベースが同じサーバー上にない場合は、MySQL のリモート アクセス権限を有効にする必要があります。

主流の方式としては、テーブル変更方式と認証方式の 2 つがあります。

比較的、テーブル変更方法の方が簡単で、個人的にはこちらの方法を好みます。そのため、ここではテーブル変更方法のみを掲載します。

1. MySQLにログインする

mysql -u ルート -p

2. MySQL データベースのユーザー テーブルを変更し、ホスト項目を localhost から % に変更します。 %これは、どのホストでもアクセスが許可されることを意味します。特定の IP のみにアクセスが許可されている場合は、対応する IP に変更できます。たとえば、localhost を 192.168.1.123 に変更すると、ローカル エリア ネットワーク内の IP 192.168.1.123 のみが MySQL にリモート アクセスできるようになります。

mysql> mysql を使用します。 
mysql> ユーザーを更新し、ホストを '%' に設定し、ユーザーを 'root' に設定します。 
mysql> ユーザーからホスト、ユーザーを選択します。 
mysql> 権限をフラッシュします。

ファイアウォールのポート3306を開く

1. ファイアウォール設定ファイルを開く

vi /etc/sysconfig/iptables

2. 次の行を追加します

-A 入力 -m 状態 --state 新規 -m tcp -p tcp --dport 3306 -j 受け入れる

3. ファイアウォールを再起動する

サービスiptablesを再起動

注意: ポート3306を開くためのステートメントは、icmp-host-prohibitedの前に配置する必要があります。

添付ファイル:個人設定

# system-config-firewall によって記述されたファイアウォール設定
# このファイルの手動カスタマイズはお勧めしません。
*フィルター
:入力受け入れ[0:0]
:転送承認[0:0]
:出力受け入れ[0:0]
-A 入力 -m 状態 --state ESTABLISHED、RELATED -j ACCEPT
-A 入力 -p icmp -j 受け入れ
-A 入力 -i lo -j 受け入れ
-A 入力 -i eth0 -j 受け入れ
-A 入力 -m 状態 --state 新規 -m tcp -p tcp --dport 22 -j 受け入れる
-A 入力 -m 状態 --state 新規 -m tcp -p tcp --dport 80 -j 受け入れる
-A 入力 -m 状態 --state 新規 -m tcp -p tcp --dport 3306 -j 受け入れる
-A FORWARD -m 状態 --state ESTABLISHED,RELATED -j ACCEPT
-A 転送 -p icmp -j 受け入れ
-A 転送 -i lo -j 承諾
-A 転送 -i eth0 -j 受け入れ
-A 入力 -j 拒否 --拒否-icmp-ホスト禁止
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
専念

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Linux のファイアウォールによってブロックされた MySQL 接続の解決策
  • MySQL サービスに iptables ファイアウォール ポリシーを追加するためのソリューション

<<:  ドロップダウンリストのJavaScript実装

>>:  Uniapp WeChatアプレット: キー障害の解決策

推薦する

JavaScript 関数型プログラミングの基礎

目次1. はじめに2. 関数型プログラミングとは何ですか? 3. 純粋関数(関数型プログラミングの基...

反応ジャンプ後にルートが変更されてもページが更新されない場合の解決策

目次質問解決質問この問題には多くの理由があるようです。私の問題は、パラメータ付きのURLを更新できな...

CSSを使用してファイルアップロードパターンを描画する

以下に示すように、あなたならどのようにそれを達成しますか: 通常、フォントアイコンを使用して中央にプ...

高可用性 Web クラスターを実装するための Keepalived+Nginx+Tomcat サンプル コード

高可用性 Web クラスターを実現する Keepalived+Nginx+Tomcat 1. Ngi...

Linux (Ubuntu 18.04) に Anaconda をインストールする詳細な手順

Anaconda は、大規模なデータ処理、予測分析、科学計算のための最も人気のある Python デ...

クールな点滅アラームボタンをおすすめします

効果は以下のとおりです。 コードは次のとおりです (クリックすると展開してソース コードが表示されま...

MySQL データベースのバックアップとリカバリの実装コード

データベースのバックアップ #文法: # mysqldump -h server-u usernam...

MySQL データベース内の数十億のデータを素早くクリーンアップする方法

今日、ディスクアラーム例外を受け取りました。50G ディスクが爆発しました。分析と解決のプロセスは次...

Dockerでリモートアクセスを有効にする方法

DockerデーモンソケットDocker デーモンは、 unix 、 tcp 、 fdの 3 種類の...

CSSは固定比率のブロックレベルコンテナを簡単に実装できる

H5 レイアウトを設計する場合、通常はバナーに遭遇することになります。例えば、2:1 で表示したい場...

CentOS7 デプロイメント Flask (Apache、mod_wsgi、Python36、venv)

1. Apacheをインストールする # yum インストール -y httpd httpd-de...

Docker-compose ワンクリックデプロイ gitlab 中国語版の方法手順

1. GitLabの紹介Gitlab 公式アドレス: https://about.gitlab.co...

HTML のブロックレベル要素と行レベル要素、特殊文字、ネスト規則

基本的な HTML Web ページ タグのネスト ルールを紹介する場合、最初に説明する必要があるのは...

Ubuntu 18.04にPython仮想環境をインストールする

Ubuntu 18.04 を使用する Python 開発者向けの参考資料です。 1. Ubuntu ...

CocosCreatorで複数のタイマーを使用する方法の詳細な説明

1.タイムアウトを設定する3 秒後に abc を印刷します。一度だけ実行します。 setTimeou...