mySQLの新しいバージョンは、マルチスレッドマスタースレーブレプリケーションを構築します
one:最初にget
mysql-5.7.11-1.el6.x86_64.rpm-bundle.tar
tar xf mys ql- 5.7.11-1.el6.x86_64.rpm-bundle.tar
yum install -y mysql-community-client-5.7.11-1.el6.x86_64.rpm mysql-community-common-5.7 .11-1.el6 .x86_64.rpm mysql-community-libs-5.7.11- 1.el6.x86_64.rpm mysql-community-libs-compat-5.7.11-1.el6.x86_64.rpm mysql-community- server-5.7.11- 1.el6.x86_64.rpm
開始:
/etc/init.d/mysqld start
[root@vm10 mnt]# /etc/init.d/mysqld start
MySQL データベースの初期化: [ OK ]
パスワード検証プラグインのインストール: [ OK ]
mysqld の起動: [ OK ]
初期パスワードの取得:
grep '一時パスワード' /var/log/mysqld.log
mysql -p Enter を押した後に初期パスワードを入力してください
パスワードの変更:
ALTER USER root@localhost は「Redhat007!」で識別されます
パスワード規則: 大文字、小文字、数字、特殊文字を含む 8 文字以上である必要があります
次に、その中に使用されるデータベース xp1 を作成します後のテスト用
mysql> データベース xp1 を作成します。
その後、Add.sql が /mnt の下に作成され (後で使用するため)、コードは次のとおりです:
- CREATE TABLE usertb (
- id serial,
- uname varchar(20),
- ucreatetime datetime ,
- age int(11)
- )
- ENGINE=MYISAM
- DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci
- AUTO_INCREMENT=1
- ROW_FORMAT=COMPACT;
- delimiter $$
- SET AUTOCOMMIT = 0$$
- create procedure test1()
- begin
- declare v_cnt decimal (10) default 0 ;
- dd:loop
- insert into usertb values
- (null,'用户1','2010-01-01 00:00:00',20),
- (null,'用户2','2010-01-01 00:00:00',20),
- (null,'用户3','2010-01-01 00:00:00',20),
- (null,'用户4','2010-01-01 00:00:00',20),
- (null,'用户5','2011-01-01 00:00:00',20),
- (null,'用户6','2011-01-01 00:00:00',20),
- (null,'用户7','2011-01-01 00:00:00',20),
- (null,'用户8','2012-01-01 00:00:00',20),
- (null,'用户9','2012-01-01 00:00:00',20),
- (null,'用户0','2012-01-01 00:00:00',20)
- ;
- commit;
- set v_cnt = v_cnt+10 ;
- if v_cnt = 10000000 then leave dd;
- end if;
- end loop dd ;
- end;$$
- delimiter ;
ログイン後にコピー
次に、新しく作成したデータベースでそのコードを実行します
コード内でストアド プロシージャをトリガーします
test1 を呼び出します。これが usertb テーブルに含まれます
1,000 万行のデータを挿入します
以下は、データが挿入されたことを示しています
コードを変更し、その中にテーブル usertb1 を作成し、続行しますトリガーして、そこに 1,000 万行のデータを書き込みます
(2 つのテーブルを作成する主な目的は、mysqldump と mysqlpump を作成することです。違いはより明らかです)
以下は、作成が成功したことを証明します
![](http://www.bkjia.com/uploads/allimg/160329/11464913V-0.png)
mysqldump と mysqlpump をテストします
mysqldump :
mysqlpump:
![](http://www.bkjia.com/uploads/allimg/160329/1146494496-1.png)
time mysqlpump -p xp1 > mysqlpump で使用されるデフォルトのスレッド数は 2
time mysqlpump -pRedhat006! --default-Parallelism=4 db1 > 4 スレッド数は自分で変更できます
mysql A - - B をコピーします
設定環境: マスター: 172.25.254.10
![](http://www.bkjia.com/uploads/allimg/160329/1146495550-2.png)
スレーブ: 172.25.254.11
最初にマスターホストで
vim /etc/my.cnf
server -id=1
log-bin=mysql-bin
![](http://www.bkjia.com/uploads/allimg/160329/114649C23-3.png)
binlog-do -db=test
/etc/init.d/mysqld restart
mysql -pRedhat007!
次のコマンドを使用して、成功したかどうかを確認します
新しいテスト データベースの作成: データベース テストの作成;
認可:
mysql> 'Redhat007!' によって識別された xpp@'172.25.254.11' に *.* のレプリケーション スレーブを許可します;
クエリ OK、影響を受ける行は 0、警告は 1 件(0.40 秒)
/etc/init.d/mysqld restart
slave end: 172.25.254.11
vim /etc/my.cnf
server-id=2 マスターとは異なるだけです
次に、mysql の最新バージョンをインストールしますスレーブ上で
まずマスターが正常に認証されているかどうかを確認します
mysql -pRedhat007! -uxpp -h172.25.254.10 ログインできれば成功したことがわかります
mysql -pRedhat007!
![](http://www.bkjia.com/uploads/allimg/160329/1146492648-5.png)
新しいテストデータベースを作成します。同期前に 2 つのデータベースの整合性が保たれている必要があります
次に、マスターを master_host='172.25.254.10'、master_user='xpp '、master_password='Redhat007!'、master_log_file='mysql-bin.000001'、master_log_pos=154; に変更します。
/etc/init.d/mysqld restart
マスター側:
MySQL の新機能の 1 つは、データベースのプライマリとバックアップの一貫性、障害回復、次の 2 行を vim /etc/my.cnf に追加して、gtid モードをオンにします
gtid-mode=on
enforce-gtid-consistency=on
/etc/init.d/mysqld restart。
次に、slave
vim /etc/my.cnf に移動し、次の内容を追加します
gtid-mode=on
enforce-gtid-consistency=on
slave-Parallel-type =LOGICAL_CLOCK
slave-Parallel-workers=16
master_info_repository =TABLE
relay_log_info_repository=TABLE
relay_log_recovery=ON
/etc/init.d/mysqld restart
http://www.bkjia.com/PHPjc/1114327.html
www.bkjia.com
本当
http://www.bkjia.com/PHPjc/1114327.html
技術記事
マルチスレッドのマスター/スレーブ レプリケーションを構築するための mysql の新しいバージョン 1: まず、mysql-5.7.11-1.el6.x86_64.rpm-bundle.tar tar xf mysql-5.7.11-1.el6.x86_64.rpm- を取得します。 Bundle.tar yum install -y mysql-community-cl...