MySQLデータベースのプライマリ・スレーブの同期構成と読み書きの分離

2910 ワード

mysqlプライマリ・スレーブ・レプリケーションを使用するメリットは、次のとおりです.
1、主従サーバーというアーキテクチャを採用し、安定性を向上させる.プライマリ・サーバに障害が発生した場合は、セカンダリ・サーバを使用してサービスを提供できます.
2、主従サーバー上でユーザーの要求を別々に処理し、データ処理の効率を高めることができる.
3、メインサーバーのデータをスレーブサーバーにコピーし、予期せぬ損失からデータを保護する.
環境の説明:
新企業は、主にレプリケーションされたmysqlデータベースからアーキテクチャを構築します.
プライマリサーバ(mysql-master):IPアドレス:192.168.48.128、mysqlはインストールされており、ユーザーデータはありません.
サーバ(mysql-slave):IPアドレス:192.168.48.130からmysqlがインストールされ、ユーザーデータがありません.
プライマリ・スレーブ・サーバは正常にサービスを提供できます.
プライマリ・サーバの構成(master)
1、データベースプロファイルmyを編集する.cnfかmy.ini(windows)は、一般的に/etc/ディレクトリの下にあります.
[mysqld]の下に次のコードを追加します.
 log-bin=mysql-bin server-id=1 innodb_flush_log_at_trx_commit=1 sync_binlog=1 binlog-do-db=wordpress binlog_ignore_db=mysql
説明:
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を再起動する
3、mysqlにログインし、mysqlにbackupのアカウントを追加し、スレーブサーバに権限を与える.
[root@localhost~]#mysql-u root�Cp 123456ログインmysql mysql>grant replication slave on*.*to 'backup'@'192.168.48.130' identifiedby 'backup';
backupユーザーを作成し、192.168.48.130に使用を許可します.
4、メインデータベースの状態を調べ、FILEとPositionの値をメモします.これは後でサーバーから構成するときに使います.
mysql>show masterstatus;サーバから使用される構成の情報をメモしてください.
+――――――+―――-+――――�C+――――――
+|File|Position|Binlog_Do_DB|Binlog_Ignore_DB|
+――――――+―――-+――――�C+――――――
+|mysql-bin.000001|253|dbispconfig|mysql|
+――――――+―――-+――――�C+――――――+
1rowinset(0.00sec)
サーバーからの操作:
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-p123456shutdown
[root@localhost~]#mysqld_safe--user=mysql&
3)、mysqlにログインし、次の文を実行する
[root@localhost~]#mysql-uroot�Cp123456
mysql>changemastertomaster_host='192.168.48.128',master_user='backup',master_password='backup',master_log_file='mysql-bin.000003',master_log_pos=401;
4)、slave同期を開始します.
mysql>start slave;
5)、主従同期を検査し、Slave_を見たらIO_RunningとSlave_SQL_RunningがいずれもYesの場合、プライマリスレーブは接続をコピーします.mysql> show slave status\G
構成が正常であることを確認し、mysql主従が正常にコピーできるかどうかを確認します.
プライマリ・データベースにライブラリを新規作成し、ライブラリにテーブルとデータを書きます.
[root@localhost~]#mysql -u root �Cp 123456
mysql>create database mysqltest;
mysql>use mysqltest;
mysql>create table user(idint(5),namechar(10));
mysql>insert into user values(00001,'zhangsan');
データベースから正常にデータにコピーされているかどうかを確認します.
[root@localhost~]#mysql -u root �Cp 123456
mysql>show databases;
mysql>select * from mysqltest.user;