• 検索結果がありません。

2 .マスターサーバーにレプリケーション用ユーザーを作成 (GTID 有効 )

• "REPLICATION SLAVE" 権限を付与してユーザーを作成

3 .バックアップを取得してスレーブサーバーへリストア (GTID 有効 )

• コールドバックアップを取得してリストアする

– datadir

配下の

auto.cnf

を削除しておく

(

マスターとスレーブで

server-uuid

を一意にするため

( ※ ))

※ GTID

のフォーマットには

server-uuid

が含まれているため、

server-uuid

を一意にしておく必要あり

3 .バックアップを取得してスレーブサーバーへリストア (GTID 有効 )

• mysqldump でバックアップを取得してリストアする

– mysql.gtid_executed

テーブルの情報を最新状態にして一貫性のあるバックアップを

取得するために、必ず

--flush-logs

--single-transaction

を指定する

バックアップ取得例

$ mysqldump --user=root --password=root --master-data=2 ¥ --flush-logs --socket=/usr/local/mysql/data/mysql.sock ¥ --hex-blob --default-character-set=utf8 --all-databases ¥

--single-transaction --triggers --routines --events > mysql_bkup_dump.sql

※ Warning

発生を防ぐために

”--triggers --routines --events”

も指定

※ GTID

モードで取得した

mysqldump

には、

”SET @@GLOBAL.GTID_PURGED=‘XXX’;”

が含まれる

補足: gtid_execute の値の例

• マスターサーバーでの実行例

mysql> show master status;

+---+---+---+---+---+

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +---+---+---+---+---+

| binlog.000009 | 2189 | | | c86493ae-9714-11e5-b9d8-080027ff56de:1-29 | +---+---+---+---+---+

1 row in set (0.00 sec)

mysql> select * from mysql.gtid_executed;

+---+---+---+

| source_uuid | interval_start | interval_end | +---+---+---+

| c86493ae-9714-11e5-b9d8-080027ff56de | 1 | 11 |

| c86493ae-9714-11e5-b9d8-080027ff56de | 12 | 14 |

| c86493ae-9714-11e5-b9d8-080027ff56de | 15 | 18 |

| c86493ae-9714-11e5-b9d8-080027ff56de | 19 | 22 | +---+---+---+

4 rows in set (0.00 sec)

値が違う

補足: gtid_execute の値の例(続き)

• マスターサーバーでの実行例

mysql> FLUSH BINARY LOGS;

Query OK, 0 rows affected (0.05 sec) mysql> show master status;

+---+---+---+---+---+

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +---+---+---+---+---+

| binlog.000010 | 194 | | | c86493ae-9714-11e5-b9d8-080027ff56de:1-29 | +---+---+---+---+---+

1 row in set (0.00 sec)

mysql> select * from mysql.gtid_executed;

+---+---+---+

| source_uuid | interval_start | interval_end | +---+---+---+

| c86493ae-9714-11e5-b9d8-080027ff56de | 1 | 29 | +---+---+---+

1 row in set (0.00 sec) FLUSH BINARY LOGS

により、

値が同じになった

補足: mysqldump のオプション

--flush-logs

ダンプを取得する前に、バイナリログをフラッシュする

--master-data=2

バックアップ取得のバイナリファイル名とバイナリファイル内の位置

( Position )

コメントとしてバックアップファイルに記録

--hex-blob

バイナリ型

( BINARY

VARBINARY

BLOG )

BIT

型のデータを

16

進数表記で出力

--default-character-set

mysqldump

がデフォルトで利用するキャラクタセットを指定。

通常は

MySQL

サーバのシステム変数

default-character-set

と同じものを指定すれば良い

--all-databases

全てのデータベースをバックアップ

--single-transaction

– InnoDB

がサポートしているトランザクションの仕組みを利用して、

InnoDB

テーブルに限り一貫性のとれたバックアップを取得する

注意事項: mysqldump によるバックアップ

データの整合性を保つために、バックアップ取得中は、テーブルに関する

DDL

()

を実行しないこと

ALTER TABLE, CREATE TABLE, DROP TABLE,RENAME TABLE, TRUNCATE TABLE

マニュアルの“

--single-transaction”

オプションの説明部分より引用

--single-transaction

ダンプの処理中、ダンプファイルが正当である

(

テーブルの内容と バイナリログ座標が正しい

)

ことを保証するために、ほかの接続で

ALTER TABLE

CREATE TABLE、DROP TABLE、RENAME TABLE、TRUNCATE TABLE ステートメントを使用しないようにし

てください。一貫性読み取りはこれらのステートメントから分離されないため、ダンプされるテーブル でこれらを使用すると、

mysqldump

によって実行され、テーブルの内容を取得する

SELECT

が、

正しくない内容を取得したり失敗したりすることがあります。」

4 .スレーブサーバーで CHANGE MASTER TO コマンドを実行 5 .スレーブサーバーで START SLAVE コマンドを実行

(GTID 有効 )

• CHANGE MASTER TO コマンドを実行

関連したドキュメント