GNU/Linux >> Linux の 問題 >  >> Linux

MySQL サーバーを複数の IP アドレスにバインドする方法は?

解決策 1:

いいえ、ありません (ちょうど 1 時間前に確認しました)。 my.cnf で bind-address にコメントを付けることができます:

<ブロック引用>

注:« 1 時間前 » は 10 年以上前です。

#skip-networking
#bind-address                   = 127.0.0.1

2 つの IP のみが必要な場合は、ファイアウォールを使用する必要があります。

MySql バージョン 8.0.13 以降の場合 、コンマ区切りの IP アドレスのリストを指定できます。

bind-address = 10.0.0.1,10.0.1.1,10.0.2.1

関連する MySql ドキュメント。

解決策 2:

127.0.0.x にバインドしても、すべてのデバイスで使用できるわけではなく、ローカルでのみ使用できるようになります。すべてのインターフェイスで使用できるようにする場合は、0.0.0.0 を使用する必要があります。複数のインターフェイスからアクセスしたいが、すべてのインターフェイスからアクセスしたくない場合は、0.0.0.0 にバインドし、アクセスしたくないインターフェイスをファイアウォールでオフにする必要があります。

また、セキュリティの第 2 層として、すべての MySQL ユーザーのホスト フィールドが % 以外 (つまり、任意のホスト) に設定されていることを確認する必要があります。

解決策 3:

複数の IP アドレスにバインドすることはできませんが、代わりに使用可能なすべての IP アドレスにバインドできます。その場合は、0.0.0.0 を使用してください 次のように、MySQL 構成ファイル (例:/etc/mysql/my.cnf) のバインディング アドレス:

bind-address    = 0.0.0.0

アドレスが 0.0.0.0 の場合、サーバーはすべてのサーバー ホスト IPv4 インターフェイスで TCP/IP 接続を受け入れます。

さらにアドレスが :: の場合 、サーバーは、すべてのサーバー ホスト IPv4 および IPv6 インターフェイスで TCP/IP 接続を受け入れます。このアドレスを使用して、すべてのサーバー インターフェイスで IPv4 と IPv6 の両方の接続を許可します。

または、単に bind-address= をコメントアウトすることもできます したがって、すべてのアドレスにバインドされます。ただし、 skip-networking がないことを確認してください リモート接続も許可する場合は、my.cnf で有効にします (詳細:MySQL:リモート接続とローカル接続の両方を許可します)。

バインディング アドレスを変更したら、次の方法で MySQL サーバーを再起動することを忘れないでください。

sudo service mysql restart

最終的には、マスター/スレーブ レプリケーションを使用して、1 台のマシン (異なるポート) で MySQL の複数のインスタンスを実行することを検討できます。レプリケーションにより、1 つの MySQL データベース サーバー (マスター) から 1 つ以上の MySQL データベース サーバー (スレーブ) にデータをコピーできます。

続きを読む:

  • 5.3 MySQL.com の 1 台のマシンで複数の MySQL インスタンスを実行する
  • 第 17 章 MySQL.com でのレプリケーション

解決策 4:

いいえ、あなたがすることはできません。リンク先のページには次のことが明確に記載されています:

<ブロック引用>

バインド先の IP アドレス。選択できるアドレスは 1 つだけです。このオプションが複数回指定された場合、最後に指定されたアドレスが使用されます。

アドレスまたは 0.0.0.0 が指定されていない場合、サーバーはすべてのインターフェイスでリッスンします。

解決策 5:

他の人が答えたように、複数のインターフェースに選択的にバインドする方法はまだありません.

Linux には、それを可能にするいくつかの TCP ツールがあります。このセットアップでは、127.0.0.1 でリッスンするように mysql を構成し、redir を使用してそれを任意のインターフェイスに公開します。

これを使用して、仮想ボックス ゲストがホスト マシンにインストールされている mysql を認識できるようにしています。

redir --laddr=192.168.33.1 --lport=3306 --caddr=127.0.0.1 --cport=3306 &

Linux
  1. MySQL スレーブ データベースの構成方法

  2. mysqld_multi を使用して 1 つのシステムで複数の MySQL サーバーを構成する方法

  3. BIND DNS サーバーを新しいハードウェアに移行する方法は?

  1. MySQL 8.0/5.7をDebian11/Debian10にインストールする方法

  2. MySQLサーバーをDebian9にインストールする方法

  3. Ubuntu16.04にMySQLサーバーをインストールする方法

  1. CentOS7にMySQLサーバーをインストールする方法

  2. Ubuntu17.04にMySQLサーバーをインストールする方法

  3. ターミナルを複数の「ビュー」に分割するにはどうすればよいですか?