Help us understand the problem. What is going on with this article?

MySQL互換のPercona-Serverで準同期レプリケーションを作る

More than 3 years have passed since last update.

自分用のメモなので説明など端折って完全に手順のみです。

準備

パッケージのインストール(マスター、スレーブともに)

$ sudo rpm -Uvh http://www.percona.com/redir/downloads/percona-release/percona-release-0.0-1.x86_64.rpm
$ sudo yum install Percona-Server-server-56 Percona-Server-client-56 Percona-Server-shared-56 Percona-Server-shared-compat percona-toolkit xtrabackup -y

準同期レプリケーション向けmy.cnfの設定

マスター側のmy.cnf設定(抜粋)

[mysqld]
# Replication
server-id=101 # この数値は適当に
plugin-load=rpl_semi_sync_master=semisync_master.so
rpl_semi_sync_master_enabled=1
rpl_semi_sync_master_timeout=500

スレーブ側のmy.cnf設定(抜粋)

[mysqld]
# Replication
server-id=102 # この数値は適当に
plugin-load=rpl_semi_sync_slave=semisync_slave.so
rpl_semi_sync_slave_enabled=1

pecona-serverの起動(マスター、スレーブともに)

$ sudo /etc/init.d/mysql start

準同期レプリケーション作成

マスター側操作

レプリケーション専用アカウントを作成、更新をロック、バイナリログ進行位置を取得する。
レプリケーション専用アカウント名はここでは repuser 、パスワードを repuserpassword123 、接続許可ホストを 192.* とする。

# mysql -u root -p
GRANT REPLICATION SLAVE ON *.* TO `repuser`@'192.%' IDENTIFIED BY 'repuserpassword123';
FLUSH PRIVILEGES;
FLUSH TABLES WITH READ LOCK;
SHOW MASTER STATUS\G;               -- 'File'と'Position'を記録しておく
-- このコンソールはこのままにしておく(*exitしない*)

マスター側の全てのテーブルをdumpしてスレーブにscpする。

$ mysqldump -u root -p --events --all-databases > all_db_dump.sql
$ scp all_db_dump.sql ユーザ名@スレーブ側のIP:

スレーブ側操作

マスターからscpされたall_db_dump.sqlを食わせる。

$ mysql -u root -p < all_db_dump.sql

マスター情報を設定する。binログファイル名はマスター側操作でおこなったSHOW MASTER STATUS;で表示された File の値、 ログファイルのポジションPosition の値を指定する。

# mysql -u root -p
CHANGE MASTER TO  
MASTER_HOST = 'マスター側のIP', 
MASTER_USER = 'repuser', 
MASTER_PASSWORD = 'repuserpassword123' ,
MASTER_PORT = 3306, 
MASTER_LOG_FILE = 'binログファイル名' ,    -- 'File'
MASTER_LOG_POS  = ログファイルのポジション; -- 'Posistion'

レプリケーションを開始する。

START SLAVE;
SHOW SLAVE STATUS\G;
-- 以下の状況になっていればOK
-- Slave_IO_Running: Yes
-- Slave_SQL_Running: Yes

マスター側操作

SHOW MASTER STATUS\G を行ったコンソールで更新のロックを解除する。

UNLOCK TABLES;
FLUSH PRIVILEGES;

SSDに最適化された(と言われている)Percona-Serverを知るためのリソースとか

http://blog.father.gedow.net/category/hardware/iodrive/

http://ijin.github.io/blog/2015/03/27/serverfesta-2015-spring/

http://www.slideshare.net/ttkzw/svfes2

http://www.slideshare.net/GedowFather/welcome-to-iodrive-world

http://yakst.com/ja/posts/61

ioDriveを使ううえで考慮すべき(なのか?)ポイント

  • I/Oのスレッドとか
innodb_read_io_threads=いくつにする?
innodb_write_io_threads=いくつにする?
innodb_adaptive_flushing_method=keep_average
innodb_adaptive_flushing=true
jun_ya
mewtoneという会社でゲーム向けサーバインフラの設計やサーバプログラム設計やその辺りのコンサルなどをやっていますよ。というかmewtoneという会社のえらい人ですよ。ゲーム系インフラ、サーバプログラムで悩んでいる方はいますぐにアクセスだ(どこへ…)。
http://mewtone.jp
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away