-日本ではPostgreSQLに比べるとマイナーでも世界では標準。Bugzillaのために入れてみる。しかし操作が複雑ですぐ行き詰まるためかなり毛嫌いしているが、特に海外製のソフトの場合標準採用されているので2010年より本格的に利用開始

#contents

*設定 [#o64fbf93]


参考ページ
https://www.server-world.info/query?os=CentOS_7&p=mariadb&f=3
http://qiita.com/suzutsuki0220/items/e5be03ea8f44ad2f6533

**遅延対策 [#gea39cca]

救われた面もあるのでなんともだが、遅延が酷いと1時間近くにもなることがある。
slave stop & start すると復帰するが、原因は突き止めたい。

***slaveの状態を確認 [#acb193a4]

**AWSのRDSの場合(専用のプロシージャーを利用する) [#g1fe5e4c]

http://takeshiyako.blogspot.jp/2014/12/mysqlamazon-rds.html

 mysql> CALL mysql.rds_set_external_master('100.100.100.100',3306,'userrds','passwordrds','mysql-bin.000855',846543983,0);

 mysql> CALL mysql.rds_start_replication;

すべてのデータベースをdumpするとmysqlデータベースインポート中にエラーになるので個別にやるしかない。databasesオプションを利用して、移行対象を絞るべし

**マスターの設定 [#ke095c1f]

***ユーザーの追加(IPをスレーブのものに限定) [#bf336d22]

 GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.1.2/255.255.255.255' IDENTIFIED BY 'hogehoge';

***マスターのmy.cnf変更して再起動 [#l47d04ec]

 [mysqld]
 log-bin=mysql-bin
 server-id=1
 expire_logs_days=7

mysql-binでバイナリログを有効にして、server-idはかぶらないものをつける。expire_log_daysは7日間はバイナリログを保存する(それ以上にレプリケーションがとまるとダンプしなおし)

**スレーブの設定 [#kc2387a4]

 [mysqld]
 log-bin=mysql-bin
 server-id=102
 read_only=1
 # 自身のホスト名を定義
 report-host=slavehost

**ダンプとリカバリー [#pfca2f5f]

***マスター [#q4a95ea7]

 MariaDB [(none)]> flush tables with read lock;
 Query OK, 0 rows affected (0.01 sec)
 
 MariaDB [(none)]>  show master status;
 +------------------+----------+--------------+------------------+
 | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
 +------------------+----------+--------------+------------------+
 | mysql-bin.000001 | 22826177 |              |                  |
 +------------------+----------+--------------+------------------+
 1 row in set (0.00 sec)
 
 $ mysqldump -u root -p --all-databases --lock-all-tables --events | gzip > mysql_dump.sql.gz

-終わったらunlock

 unlock tables; 


-状態の確認

 

***スレーブ [#w8dfc974]

 $ mysql -u root -p < /var/tmp/mysql_dump.sql

 MariaDB [(none)]> change master to master_host='MASTER_IP', master_user='repl', master_password='hogehoge',master_log_file='mysql-bin.000001',master_log_pos=22826177;

-レプリケーションスタート

 MariaDB [(none)]> start slave;

-状態の確認

 show slave status\G


#counter


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS