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アプレット: キー障害の解決策

推薦する

Linux に MySQL 8.0.19 をインストールするための詳細な手順と問題解決方法

最近Tencent Cloudサーバーを購入し、環境を構築しました。このメモは、これまで MySQL...

ウェブページ内でウェブテーブルやdivレイヤーが引き伸ばされる問題の解決策

<br />Web ページをデザインするときには、いつも不快なことに遭遇します。最も一般...

MYSQL での Truncate の使用法の詳細な説明

この記事のガイド: テーブル内のデータを削除するには、削除と切り捨ての 2 つの方法があります。TR...

W3Cチュートリアル(1):W3Cを理解する

1994 年に設立された組織である W3C は、共通プロトコルの開発を促進し、それらの相互運用性を確...

MySQL 自動インクリメント ID のオーバーサイズ問題のトラブルシューティングと解決策

導入Xiao A がコードを書いていたところ、DBA Xiao B が突然、「急いでユーザー固有情報...

Jenkins でユーザー ロールの権限を設定する方法

Jenkinsのユーザーロール権限の設定には、ロール戦略プラグインのインストールが必要です。 1.ロ...

Vue フィルター、ライフサイクル関数、vue-resource の簡単な紹介

1. フィルター例: <!DOCTYPE html> <html lang=&qu...

VUE ユニアプリコア知識の簡単な紹介

目次仕様a. ページファイルはVueの単一ファイルコンポーネント仕様に準拠しています。 b. コンポ...

JavaScript配列の一般的なメソッドの詳細な説明

目次一般的な配列メソッドポップ()シフト解除()シフト()スライス()スプライス()配列から重複した...

jsでの位置計算を徹底的に理解するのに役立つ記事

目次導入スクロール要素.スクロール()要素.scrollHeight/scrollWidth要素.s...

MySQL最適化ツール(推奨)

序文今日 GitHub を閲覧していたところ、SQL を最適化および書き換えるための sora とい...

Vue3.0 における Ref と Reactive の違いの詳細な分析

目次参照と反応参照反応的RefとReactiveの違いshallowRef と shallowRea...

少なくとも7日間連続して注文を行ったユーザーに対するSQLクエリ

テーブルを作成するテーブル order(id varchar(10),date datetime,o...

React コンポーネント間で通信する 3 つの方法 (シンプルで使いやすい)

目次1. 親子コンポーネント通信2. クロスレベルコンポーネント通信1. レイヤーごとに値を渡す2....

React コードを共有するためのベストプラクティス

プロジェクトがある程度複雑になると、必然的にロジックの再利用の問題に直面することになります。 Rea...