ホームページ >データベース >mysql チュートリアル >Linux は mysqld_multi を使用して単一マシン上で複数の MySQL インスタンスを起動します
以前は、mysql を使用する場合は、mysql スキーマを 1 つだけ使用するか、複数のスキーマを使用することがほとんどでしたが、それらは通常、同じデータベース インスタンス、つまり同じポートにありました。
mysql デュアルマシンの双方向ホット バックアップでは、マシン A (仮に A と呼びます) の myql スキーマをホット バックアップ (mysql レプリケーション) のマスター ノードとして使用し、バックアップされた mysql スキーマ (仮に B と呼びます) を使用する必要があります。 ) は別のマシン B に存在します。次に、双方向ホット バックアップでは、B をマスターとして設定し、A をスレーブとして設定する必要があります。これで、ホット バックアップが 2 回設定され、マシン A のホット バックアップが完了しました。 , そしてBさんの番です。マシン B にも mysql スキーマ (C) があり、これもマスターとして設定する必要があり、バックアップ スキーマはマシン A に配置されると述べましたが、ここで問題が発生します。バックアップの mysql スキーマ (B) には、ホットスタンバイの設定時にmysqlで設定されている。
この時点で、C がマスターとして構成されている場合、B の以前のマスター構成は上書きされ、C のバックアップ データベース (D) がマシン A 上でマスターとして構成されている場合、A はマスターとして構成されます。操作はカバーされています。
次に、このプロセスでは、スキーマ A と B の双方向ホット スタンバイの構成が、それぞれ 2 台のマシンのデフォルト ポート 3306 で完了します。スキーマ C と D の双方向ホット スタンバイを構成する場合は、異なる構成を行う必要があります。 2 台のマシンで設定を完了した mysql インスタンス (異なるポート番号) で、複数の mysql インスタンスを起動する場合の説明を次に示します。
[mysqld_multi] mysqld = /opt/mysql/server-5.6/bin/mysqld_safe #根据自己的mysql目录配置 mysqladmin = /opt/mysql/server-5.6/bin/mysqladmin [mysqld1] port = 3307 socket = /tmp/mysql.sock1 pid-file = /opt/mysql/server-5.6/data3307/cloud3.pid3 basedir=/opt/mysql/server-5.6 datadir=/opt/mysql/server-5.6/data3307 log-bin=mysql1-9003-bin user=cloud1 [mysqld2] port = 3308 socket = /tmp/mysql.sock2 pid-file = /opt/mysql/server-5.6/data3308/cloud3.pid2 basedir=/opt/mysql/server-5.6 datadir=/opt/mysql/server-5.6/data3308 log-bin=mysql2-9003-bin user=cloud1
cd /opt/mysql/server-5.6/;./scripts/mysql_install_db --datadir=/opt/mysql/server-5.6/data3307 --user=cloud1 cd /opt/mysql/server-5.6/;./scripts/mysql_install_db --datadir=/opt/mysql/server-5.6/data3308 --user=cloud1
初期化が成功したら [OK] をクリックしますプロンプトが表示される場合は、データベース ディレクトリにアクセス許可があるかどうかを確認してください。
次のパラメータを使用して mysqld_multi を起動します: (注: このコマンドは mysql の bin ディレクトリにあります)。
mysqld_multi [options] [GNR[,GNR]...]
開始、停止、レポートは、実行したい操作を参照してください。オプションに続く GNR リストとは区別して、単一のサービスまたは複数のサービスに対する操作を指定できます。 GNR リストが指定されていない場合、mysqld_multi はすべてのサービスのオプション ファイルに従って動作します。
各 GNR の値は、グループのシーケンス番号、またはグループのシーケンス番号の範囲です。この項目の値はグループ名の最後の数字である必要があります。たとえば、グループ名が mysqld17 の場合、この項目の値は 17 です。範囲を指定する場合は、「-」(ダッシュ) を使用して 2 つの数値を接続します。 GNR の値が 10 ~ 13 の場合、グループ mysqld10 ~ グループ mysqld13 を参照します。
mysqld_multi --defaults-file=/opt/mysql/server-5.6/my.cnf start 1-2 或者 mysqld_multi --defaults-file=/opt/mysql/server-5.6/my.cnf start 1 mysqld_multi --defaults-file=/opt/mysql/server-5.6/my.cnf start 2
mysqladmin -u root -p -P 3307 -S /tmp/mysql.sock1 password //刚开始默认没有密码,如果要输入密码,直接回车 mysql -u root -p -P 3307 -S /tmp/mysql.sock1
以上がLinux は mysqld_multi を使用して単一マシン上で複数の MySQL インスタンスを起動しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。