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

推薦する

Alibaba Cloud ホストが IP を使用して Web サイトにアクセスできない問題の解決策 (セキュリティ グループ ルールを構成することで解決)

Alibaba Cloud ホストを購入したばかりで、その速度を試すのが待ちきれませんでした。しか...

JavaScript の構造化代入の一般的なシナリオと例 5 つ

目次序文1. データを抽出する2. エイリアス値3. 動的プロパティ4. オブジェクトの分解における...

22 Vue 最適化のヒント (プロジェクトの実践)

目次コードの最適化v-for でキーを使用するv-if/v-else-if/v-else でキーを使...

MySQLトリガーの簡単な使用例

この記事では、例を使用して MySQL トリガーの簡単な使用方法を説明します。ご参考までに、詳細は以...

dockerにmysqlをインストールした後にNavicatが接続できない問題に対する完璧な解決策

1. Dockerがイメージをプルするdocker pull mysql (デフォルトで最新バージョ...

Vueはパーセンテージバー効果を実現します

この記事では、パーセンテージバーを実現するためのVueの具体的なコードを参考までに共有します。具体的...

iframe を更新する 3 つの方法

コードをコピーコードは次のとおりです。 <iframe src="1.htm&quo...

フォーム送信時に追加のパラメータを渡すためのいくつかの一般的な方法

フォームを送信するときに、送信前に追加のパラメータが追加される状況が発生する場合があります。この問題...

Vue は Echarts をインポートして折れ線グラフを実現します

この記事では、VueでEchartsをインポートして線散布図を実現する具体的なコードを参考までに共有...

mysql zipファイルのインストールチュートリアル

この記事では、参考までにMySQL zipファイルをインストールする具体的な方法を紹介します。具体的...

トランザクション分離レベルのMySQLケース分析

目次1. 理論シリアル化可能繰り返し読み取りコミットされた読み取りコミットされていない読み取り2. ...

auto.jsを使用して毎日の自動チェックイン機能を実現する

auto.js を使用して毎日のチェックインを自動化する感染症のせいで、毎日時間通りに家に帰らなけれ...

MySQL 8.0.11 圧縮版のインストールチュートリアル

この記事では、MySQL 8.0.11のインストールチュートリアルを参考までに紹介します。具体的な内...

ウェブページエクスペリエンス: 計画と設計

1. デザインの方向性を明確にする<br />まず、どのユーザーを対象にデザインするのか...

Dockerはelasticsearchイメージを起動し、ディレクトリをマウントした後にエラーを解決します

docker hub から es イメージ (バージョン 6.4.2) をダウンロードしました。詳細...