MySQLマスタースレーブレプリケーション構成(デュアルマシン相互マスタースレーブ)

目的:2つのmysqlサーバーが互いに同期サービスを提供できるようにします。

 

利点:

  1. mysqlマスター/スレーブレプリケーションの主な利点は、「バックアップ」を同期することです。スレーブ上のデータベースは、(基本的なリアルタイム)バックアップライブラリと同等です。

  2. マスター/スレーブレプリケーションに基づいて、読み取りと書き込みの分離はmysqlproxyを介して実現でき、クエリのプレッシャーはスレーブによって共有されます。

  3. 双方向のマスタースレーブレプリケーションを実行します。2つのマシンは互いのマスターとスレーブであり、1つのマシンのライブラリへの書き込みが「リアルタイム」で別のマシンに同期されます。双方向の利点は、1つのマスターに障害が発生した場合です。時間があれば、別のホストがすばやくサービスを継続するように切り替えることができます。

 

手順:

  1. 両方のマシンでスレーブアクセス用のアカウントを追加し、REPLICATION SLAVE権限を付与します。

GRANT REPLICATION SLAVE ON TO 'slave' @ '%' IDENTIFIED BY 'slave';

スレーブユーザーに、任意のデータベースの任意のテーブルに対するREPLICATION SLAVE権限を付与します。このユーザーは、ネットワーク上の任意の場所にアクセスでき、アクセス時にパスワードslaveでマークされます。

 

ubuntuを使用する場合、/ etc / mysql / my.cnf構成ファイルのbind-address = 127.0.0.1行をコメント化する必要があることに注意してください。コメント化しないと、要求されたときにスレーブが接続できません(Iそれはubuntuです、Linuxの他のバージョンは同じになるかどうかわかりません)

 

作業手順の詳細を確認するために、割り当てられたユーザーパスワードを使用して、ユーザー関連情報を構成した後、別のマシンに1回接続することができます。

 

  1. サーバー番号を設定し、bin-logを開きます

mysql構成ファイルを編集します。linux:/etc/mysql/my.cnf、windows:c:/プログラムファイル/ mysql / mysql 5.0 / my.ini

タグ[mysqld]を見つけます。

その下に2行あります

#server-id = 1
#log_bin = /var/log/mysql/mysql-bin.log

これらの2行のコメントを開きます。ここでのserver-idはサーバー番号なので、2つのサーバーの値は異なるように設定する必要があることに注意してください。たとえば、1と2

 

  1. server-idおよびlog-bin構成の変更を有効にします。

sudo /etc/init.d/mysql restart

または、WindowsのサービスでMySQLサービスを再起動します

 

  1. 両方のデータベースサーバーのmysqlをロックする

mysqlコマンドモードの場合:

読み取りロック付きのFLUSHテーブル。

マスターステータスを表示;

 

この時点で、これらの2つのコマンドを実行するmysqlコンソールが終了しないことを確認してください。

 

  1. mysqlコンソールを再度開き、ホストを構成します。

マスターを変更

MASTER_HOST = 'host'、#別のマシンのアドレス

MASTER_PORT = 3306、#別のマシンのポート

MASTER_USER = 'slave'、#別のマシンの最初のステップで割り当てられたユーザー名

MASTER_PASSWORD = 'slave'、#別のマシンの最初のステップで割り当てられたパスワード

MASTER_LOG_FILE = 'mysql-bin.000001'、#別のマシンでSHOW MASTER STATUSを実行して取得したファイル名

MASTER_LOG_POS = 192;#別のマシンでSHOW MASTER STATUSを実行して取得したオフセット

 

  1. 同期をオンにする

スレーブを開始します。

 

  1. 正当性を確認する

スレーブのステータスを表示;

返された結果の最初の列が「マスターがイベントを送信するのを待っている」または「キューイング」である場合、構成は正しいです。もちろん、他にも正しい情報がある可能性がありますが、ここでは収集しませんでした... ha ha

 

不適切なものがあればレンガを撃ってください。

おすすめ

転載: blog.51cto.com/youling87/2486562