MySQLデータベースのマスタースレーブ同期構成と読み取り書き込み分離

MySQLデータベースのマスタースレーブ同期構成と読み取り書き込み分離

MySQL マスター スレーブ レプリケーションを使用する利点は次のとおりです。

1. 安定性を向上させるために、マスタースレーブサーバーアーキテクチャを採用しています。プライマリ サーバーに障害が発生した場合、スレーブ サーバーを使用してサービスを提供できます。

2. マスターサーバーとスレーブサーバーでユーザー要求を個別に処理すると、データ処理の効率が向上します。

3. データが偶発的に失われないように、マスター サーバー上のデータをスレーブ サーバーにコピーします。

環境の説明:

新しい企業では、マスター/スレーブ レプリケーション アーキテクチャを備えた MySQL データベースを構築する必要があります。

マスター サーバー (mysql-master): IP アドレス: 192.168.48.128、mysql がインストール済み、ユーザー データなし。

スレーブ サーバー (mysql-slave): IP アドレス: 192.168.48.130、mysql がインストール済み、ユーザー データなし。

マスターサーバーとスレーブサーバーの両方が正常にサービスを提供できます。

マスターサーバーの構成

1. 通常は /etc/ ディレクトリにあるデータベース構成ファイル my.cnf または my.ini (Windows) を編集します。

[mysqld]の下に次のコードを追加します。

ログ bin = mysql bin
サーバーID=1
innodb_flush_log_at_trx_commit=1
同期バイナリログ=1
binlog-do-db = wordpress
binlog_ignore_db = mysql

例:

server-id=1 //server-id=1 の 1 は、一意であれば任意に定義できます。

binlog-do-db=wordpress // は wordpress のみをバックアップすることを意味します。

binlog_ignore_db=mysql //mysql のバックアップを無視することを示します。

binlog-do-db と binlog_ignore_db がない場合、すべてのデータベースがバックアップされます。

2. MySQLを再起動します:# service mysqld restart restart

3. MySQL にログインし、MySQL にバックアップ アカウントを追加して、スレーブ サーバーに承認します。

[root@localhost~]#mysql -u root –p 123456 mysqlにログイン
mysql> 'backup' によって識別される 'backup'@'192.168.48.130' に *.* のレプリケーション スレーブを許可します。

バックアップ ユーザーを作成し、192.168.48.130 にアカウントの使用を許可します。

4. マスター データベースのステータスを照会し、FILE と Position の値を書き留めます。これは、後でスレーブ サーバーを構成するときに使用されます。

mysql>show masterstatus; 表示された情報を書き留めてください。これはスレーブ サーバーを構成するときに使用されます。

+——————+————-+————–+——————

+|ファイル|位置|Binlog_Do_DB|Binlog_Ignore_DB|

+——————+————-+————–+——————

+|mysql-bin.000001|253|dbispconfig|mysql|

+——————+————-+————–+——————+

1行目挿入(0.00秒)

スレーブ サーバーの場合:

1) /etc/my.cnf にパラメータ log-bin=mysql-bin と server-id=1 が含まれていることを確認し、server-id=1 を server-id=10 に変更します。変更後は次のようになります。

[mysqld]

log-bin=mysql-bin //バイナリファイルの開始 server-id=10 //サーバーID

2) MySQL サービスを再起動します。

[root@localhost~]#mysqladmin-p123456シャットダウン

[root@localhost~]#mysqld_safe--user=mysql&

3) mysqlにログインし、次の文を実行します。

[root@localhost~]#mysql-uroot–p123456

mysql>changemastertomaster_host='192.168.48.128'、master_user='backup'、master_password='backup'、master_log_file='mysql-bin.000003'、master_log_pos=401;

4) スレーブ同期を開始します。

mysql>スレーブを起動します。

5) マスターとスレーブの同期を確認します。Slave_IO_Running と Slave_SQL_Running の両方が Yes の場合、マスターとスレーブのレプリケーション接続は正常です。
mysql> show slave status\G

構成が正常かどうか、および MySQL マスター スレーブが正常にレプリケートできるかどうかを確認します。

メイン データベース上に新しいデータベースを作成し、データベースにテーブルといくつかのデータを書き込みます。

[root@localhost~]#mysql -u root –p 123456

mysql>データベースmysqltestを作成します。

mysql>mysqltestを使用します。

mysql>テーブルuser(idint(5),namechar(10))を作成します。

mysql> ユーザー値に挿入(00001, 'zhangsan');

データが正常にコピーされたかどうかをデータベースから確認します。

[root@localhost~]#mysql -u root –p 123456

mysql>データベースを表示;

mysql>mysqltest.user から * を選択します。

以下もご興味があるかもしれません:
  • MySQL マスタースレーブ同期、読み取り書き込み分離構成手順
  • MySQLのマスタースレーブレプリケーションと読み取り書き込み分離を理解するための記事
  • MySQL マスタースレーブレプリケーション 読み書き分離の設定方法の詳細説明
  • MySQL マスタースレーブレプリケーションの読み書き分離構造の詳細な説明
  • MySQL のマスタースレーブレプリケーションと読み取り書き込み分離の原理と使用法の詳細な説明
  • MySQLデータベースのマスタースレーブレプリケーションと読み取り書き込み分離に関する詳細なチュートリアル

<<:  JavaScript はクリックして画像の形状を変更する (変換アプリケーション) を実装します。

>>:  Linux CDの意味と使い方

推薦する

独立した IP を介して Windows コンテナ イントラネットの Docker に直接アクセスする方法

Docker では、ポート マッピングを使用して、Docker コンテナーのサービスをホスト マシン...

MySQLトリガーについて深く理解するための記事

目次1. SC テーブルを挿入または変更するときに、テスト スコアが 0 ~ 100 の範囲外の場合...

要素ツリーコントロールは、ドロップダウンメニューとアイコンを統合します(ツリー+ドロップダウン+入力)

目次要件:実装手順:この記事では主に以下について説明します: カスタムツリーコントロール<el...

CSS3 で背景ぼかしを実現する 3 つの方法 (要約)

1. 通常の背景ぼかしコード: <スタイル> html, 体 { 幅: 100%; 高...

ネイティブJSを使用した遅延読み込みlazyLoadの3つの方法の概要

目次序文方法1: 高コントラスト方法2: getBoundingClientRect() APIを使...

...

ウェブサイトにダークモード切り替え機能を持たせるための純粋なCSSフリー実装コード

序文ダーク モードの概念は、 MacOS系統のMojaveに由来し、ユーザーが選択できる 2 つのス...

jsを使用してシンプルなカルーセル効果を実現する

この記事では、シンプルなカルーセル効果を実現するためのjsの具体的なコードを参考までに紹介します。具...

Win10 64 ビットで圧縮パッケージを使用して最新の MySQL 8.0.18 をインストールするチュートリアル (画像とテキスト付き)

WIN10 64ビットに最新のMySQL8.0.18をインストールダウンロード公式サイトから最新バ...

Django プロジェクトを作成して MySQL に接続する方法

1: django-admin.py startproject プロジェクト名2: cd プロジェク...

Tomcatc3p0 で jnid データ ソースを構成する 2 つの実装方法の分析

c3p0の使用c3p0jarパッケージをインポートする <!-- https://mvnrep...

CSS変数を使用して、クールで素晴らしいフローティング効果を実現します。

最近、Grover の Web サイトで楽しいホバー アニメーションを見つけ、自分自身のインスピレー...

VUE+Canvasはデスクトップピンボールブロック破壊ゲームのサンプルコードを実装します

誰もがピンボールやレンガ崩しのゲームをプレイしたことがあるでしょう。左と右のキーを使用して、下にある...

ウェブサイト開発におけるフロントエンド開発者とアーティストの知識の違い

概要: 多くの企業、特にインターネット Web サイトを主な事業とする企業のほとんどが、「アーティス...

XHTML CSS ウェブサイトデザインの利点と問題点

XHTML は現在国際的に推奨されている標準的な Web サイト設計言語です。Webjx.com も...