PowerPoint Presentation

Similar documents
PowerPoint Presentation

スライド 1

Microsoft PowerPoint - MySQL-backup.ppt

How to Use the PowerPoint Template

コンポーネントのインストール レプリケーション運用開始までの流れ 1 コンポーネントのインストール 2 シナリオの設定 3 同期処理 レプリケーション開始!! CA ARCserve Replication/HA 構成例 管理用 PC CA ARCserve RHA マネージャ CA ARCserv

SAFE HARBOR STATEMENT 以下の事項は 弊社の一般的な製品の方向性に関する概要を説明するものです また 情報提供を唯一の目的とするものであり いかなる契約にも組み込むことはできません 以下の事項は マテリアルやコード 機能を提供することをコミットメントするものではない為 購買決定を

MySQL Replication and Scalability

MySQL研修コース & 資格のご案内

How to Use the PowerPoint Template

PowerPoint プレゼンテーション

PostgreSQLによる クラスタ運用および負荷分散術 SRA OSS, Inc. 日本支社 OSS事業本部 星合 拓馬

MxLogonサーバサイドツールキット用UI

Maser - User Operation Manual

RICOH Device Manager Pro バックアップ/バージョンアップ作業手順書

PowerPoint Presentation

Cisco Unity 8.x サーバの名前の変更または 別のドメインへの Cisco Unity 8.x サーバの 移動

スライド 1

音声認識サーバのインストールと設定

DataKeeper for Windows リリースノート

PowerPoint Presentation

Microsoft Word JA_revH.doc

MySQL 5.7 レプリケーション新機能 日本オラクル株式会社 MySQL Global Business Unit

サンのオープンソースへの 取り組み

第 2 版

SOLIDWORKS Electrical SQL 接続の可否確認 SQL サーバーにアクセスできない場合 SQL サーバー ( のサービス ) が正常に起動しているか プロトコルが正常に動作しているか 使用するポートが開放されているか SQL ログインユーザーの情報に誤りは無いかなど その原因は多

TALON Tips < 親子関係のある構成データを TALON で表示する > 株式会社 HOIPOI 第 1.1 版 p. 1

QNAP TurboNAS Container Station 設定手順書

Microsoft Word - tutorial3-dbreverse.docx

スライド 1

新環境への移行手順書

Arcserve Replication/High Availability 製品の仕組み

CLUSTERPRO for Linux MySQL HowTo

Team Foundation Server 2018 を使用したバージョン管理 補足資料

A 既製のプロジェクトがある場合

Microsoft PowerPoint - Tutorial_2_upd.ppt

ESET Remote Administrator V5.1 バージョンアップ手順

Oracle Un お問合せ : Oracle Data Integrator 11g: データ統合設定と管理 期間 ( 標準日数 ):5 コースの概要 Oracle Data Integratorは すべてのデータ統合要件 ( 大量の高パフォーマンス バッチ ローブンの統合プロセスおよ

1.SqlCtl クラスリファレンス SqlCtl クラスのリファレンスを以下に示します メソッドの実行中にエラーが発生した場合は標準エラー出力にメッセージを出力します (1)Connect() メソッド データベースへ connect 要求を行います boolean Connect(String

ファイル メニューのコマンド

intra-mart WebPlaform / AppFramework

目次 1 VirtualBoot for Hyper-V とは バックアップを実行するマシンの設定 確認すべきこと SPX によるバックアップ VirtualBoot for Hyper-V を実行するマシンの設定 確

第 3 章 メディア障害とバックアップ リカバリ この章では メディア障害の発生に備えたバックアップ方法と 障害時の基本的なリカバリ方法につい て説明します 1. メディア リカバリ概要 2. ファイルの多重化 3. アーカイブ モードの設定 4. バックアップ概要 5. 一貫性バックアップ ( オ

スライド 1

Oracle SQL Developer Data Modeler

手順書

1. Microsoft Loopback Adapter のインストール 1) ノートパソコンにおいて そのパソコンの管理者アカウントによりログオンします 2) [ スタート ] > コントロールパネルを開きます 3) 表示方法 : カテゴリの場合には ハードウェアとサウンド > デバイスマネージ

PowerPoint プレゼンテーション

スライド 1

HDC-EDI Manager Ver レベルアップ詳細情報 < 製品一覧 > 製品名バージョン HDC-EDI Manager < 対応 JavaVM> Java 2 Software Development Kit, Standard Edition 1.4 Java 2

HeartCoreインストールマニュアル

Microsoft PowerPoint - 4-MySQL50_JDBC_failover.ppt

CRA 2.2(1)の ICD の設定方法

ServerView ESXi CIM Provider VMware ESXi 4インストールガイド

How to Use the PowerPoint Template

Sharing the Development Database

Intuit QuickBooks との統合

FTPサーバーへのアクセス権限設定

システムパッケージリリース情報-Version5.0.0pre

使用する前に

スライド 1

Microsoft Word - Android_SQLite講座_画面800×1280

Red Hat Enterprise Linuxのcron(8)デーモンにデフォルト定義されたtmpwatch命令の動作による、WebOTXのトラブル対処方法

Manager編

クラスタ環境でのデータベースのアップグレード手順

ESET Remote Administrator V5.3 バージョンアップ手順

改版履歴 版数 改版日付 改版内容 /03/14 新規作成 2013/03まで製品サイトで公開していた WebSAM DeploymentManager Ver6.1 SQL Server 2012 製品版のデータベース構築手順書 ( 第 1 版 ) を本 書に統合しました 2

Mental ray for Maya インストール手順 1 Mental ray plug-in のインストール 1.1 下記リンクの NVIDIA mental ray の製品ページにて必要事項を記入し 必要なバージョンのチェックボックスを入れてから 今すぐダウンロード をクリックすると 記載し

クラスタ構築手順書

図 2 インストールウイザード画面 図 3 のような画面が表示されるので 使用許諾契約の全項目に同意します (A) にチェックを入れ て 次へ (N)> をクリックしてください 図 3 使用許諾契約の画面 図 4 のような画面が表示されるので 次へ (N) をクリックしてください インストール先を変

ReTRY HUB

改訂日 : 2009 年 3 月 OL Cisco Phone Control and Presence プラグインのインストール プラグインが自動的にインストールされない場合は ここに示すでプラグインを直接インストールします Cisco Phone Control and P

機能紹介:コンテキスト分析エンジン

ProQuest PPT Styles

Oracle BPEL Process Managerを使用したJD Edwards EnterpriseOne顧客信用情報の問合せ

アーカイブ機能インストールマニュアル

Microsoft Word - NanoPhotometer用PCソフトウエア操作説明書 Rev 1.00.doc

SHOFU SureFile for DentalX Manual

Notes and Points for TMPR454 Flash memory

MySQL Cluster

スライド 1

スライド 1

RADIUS サーバを使用して NT のパスワード期限切れ機能をサポートするための Cisco VPN 3000 シリーズ コンセントレータの設定

V-CUBE One

VB実用Ⅲ⑩ フリーデータベースⅡ

スライド 1

IBM i のスマート・デバイス活用【HATSのiPhone / iPadサポート編】

Office365 AL-Mail

利用ガイド

Mobile Access簡易設定ガイド

GHS混合物分類判定システムインストールマニュアル

Taro-QGIS 3.2

Microsoft Word - GXS?C?“?^?[?l?b?gVPN?T?[?r?X?N?‰?C?A?“?g?A?N?Z?X?Z?b?g?A?b?v?K?C?h GXS-V docx

NAC(CCA): ACS 5.x 以降を使用した Clean Access Manager での認証の設定

アーカイブ機能インストールマニュアル

2. Docker の基本的な操作 1 docker hub の参照 2 DockerHub の Explorer リンクからアプリケーションを参照 3 アプリケーション検索 4 tag について 3. docker 基本コマンド 1 docker の

1. はじめに (1) 本書の位置づけ 本書ではベジフルネット Ver4 の導入に関連した次の事項について記載する ベジフルネット Ver4 で改善された機能について 新機能の操作に関する概要説明 ベジフルネット Ver4 プログラムのインストールについて Ver4 のインストール手順についての説明

R80.10_FireWall_Config_Guide_Rev1

<4D F736F F D E096BE8E9197BF5F984193AE F B40945C432E646F63>

0. 目次 Ahkun EX Antimalware ソフト使用マニュアルデスクトップ上での操作方法 1. インストールについて P.3 2. 操作画面の起動方法 P.6 3. アップデートの手動実行 P.7 4. リアルタイム監視の操作 P.9 5. プログラム情報の表示方法 P ソフ

ユーザーライセンス管理ツール操作マニュアル

Transcription:

1

MySQL 5.6 レプリケーションと GTID MySQL Global Business Unit Sales Consulting Manager, JAPAC 梶山隆輔 / Ryusuke Kajiyama 2

MySQL レプリケーション GTID (Global Transaction Identifiers) MySQL Utilities 3

レプリケーション : マスタ スレーブのデータコピー マスターサーバ データを変更 変更点をスレーブに転送 スレーブサーバ マスターでの変更点を受け取る 変更点をデータベースに反映 M S 4

レプリケーション : マスタ スレーブのデータコピー M M/S S サーバはマスター スレーブまたは両方になれる S マスターは複数のスレーブを持てる M S M M S スレーブは 1 つのマスターのみを持てる S 5

レプリケーション : マスタ スレーブのデータコピー M M S 一定時間で切り替え M M S マルチマスター構成は時間で切り替えることで擬似的に M/S M/S M/S リング型の構成も可能 M/S M/S M/S 6

レプリケーション : スケールアウト構成による性能向上参照性能の向上 参照処理の増加 スレーブ追加 M S M S S S 更新処理 参照処理 更新処理 参照処理 7

レプリケーション : 高可用性構成 マスターの障害時に スレーブをマスターに昇格 B A C 8

レプリケーション : 高可用性構成 マスターの障害時に スレーブをマスターに昇格 障害発生 A B C 9

レプリケーション : 高可用性構成 マスターの障害時に スレーブをマスターに昇格 B B が新しいマスターに A C 10

レプリケーション : 地理的冗長性 A B C B C A Image from www.ginkgomaps.com 11

全ての変更点をバイナリログに記録 Client binary log A 12

全ての変更点をバイナリログに記録 Client create table t (a int); binary log A 13

全ての変更点をバイナリログに記録 Client create table t (a int); A binary log create... Table t 14

全ての変更点をバイナリログに記録 Client A create table t (a int); insert into t values (1); binary log create... Table t 15

全ての変更点をバイナリログに記録 Client A create table t (a int); insert into t values (1); binary log create... insert... Table t 1 16

スレーブからレプリケーションを開始 Client 1. スレーブがレプリケーションの開始をマスターにリクエスト binary log binary log A B 2. マスターがレプリケーションデータをスレーブに転送 17

バイナリログの内容をスレーブに転送し 実行 Client create... binary log binary log A B 18

バイナリログの内容をスレーブに転送し 実行 Client create... A binary log create... B binary log Table t 19

バイナリログの内容をスレーブに転送し 実行 Client create... binary log binary log A create... B create... Table t Table t 20

バイナリログの内容をスレーブに転送し 実行 Client create... insert... binary log binary log A create... B create... Table t Table t 21

バイナリログの内容をスレーブに転送し 実行 Client create... insert... binary log binary log A create... insert... B create... Table t 1 Table t 22

バイナリログの内容をスレーブに転送し 実行 Client create... insert... binary log binary log A create... insert... B create... insert... Table t 1 Table t 1 23

GTID (Global Transaction Identifiers) 24

Global Transaction Identifiers コミットごとにトランザクションを一意に識別する ID を生成 : server_uuid:number a61678ba-4889-4279-9e58-45ba840af334:1 server_uuid サーバを識別するユニークな ID number はトランザクション実行ごとに 1 ずつカウントアップ GTID はバイナリログに記録される トランザクションをスレーブで実行する際は同じ GTID が使われる 25

Global Transaction Identifiers 新しいレプリケーションのプロトコル : スレーブは master:range を表す ID をマスターに送る マスタは range 以降の全てのトランザクションをスレーブに送る 26

Global Transaction Identifiers master> CREATE TABLE t1 (a INT); master> SELECT @@global.gtid_executed; a61678ba-4889-4279-9e58-45ba840af334:1 master> INSERT INTO t1 VALUES (1); master> INSERT INTO t1 VALUES (2); master> SELECT @@global.gtid_executed; a61678ba-4889-4279-9e58-45ba840af334:1-3 新しい変数 : gtid_executed 右側は ID の範囲 27

Global Transaction Identifiers master> SELECT @@global.gtid_executed; a61678ba-4889-4279-9e58-45ba840af334:1-10000 slave> SELECT @@global.gtid_executed; a61678ba-4889-4279-9e58-45ba840af334:1-9999 トランザクションがスレーブに Slave is missing 転送されていない one transaction 28

ハンズオン 必要事項 : トランザクションをサポートしたストレージエンジン (InnoDB) のテーブルとサポートしないストレージエンジン (MyISAM など ) のテーブルを 同一のトランザクション内や SQL 文で変更しない (5.6.9 以降 ) CREATE TABLE SELECT を使用しない CREATE TEMPORARY TABLE や DROP TEMPORARY TABLE をトランザクション内部で実行しない 29

ハンズオン レプリケーション開始の準備 1. データの同期を取り 全てのサーバを一旦停止 2. 全ての my.cnf に下記を追加 : gtid-mode=on enforce-gtid-consistency=on log-bin log-slave-updates 3. 全てのサーバを起動 4. 実行 : > CHANGE MASTER TO MASTER_AUTO_POSITION = 1 30

ハンズオン フェールオーバー slave にて 新しいマスターを指定 : > CHANGE MASTER TO MASTER_HOST = '<host>', MASTER_PORT = <port number>, MASTER_USER = '<user name>' MASTER_PASSWORD = 'secret'; バイナリログポジション の指定は不要 31

GTID_NEXT GTID_NEXT セッションごとのシステム変数 デフォルト : AUTOMATIC サーバが次のトランザクション用に GTID を生成 スレーブのスレッドが UUID:NUMBER を設定 サーバは指定された GTID を次のトランザクションで使用 32

Under the Hood: GTID_NEXT クライアントも GTID_NEXT を取得可能 : Client set gtid_next= id ; insert A id,insert mysqlbinlog が SET GTID_NEXT 文を出力 : binary log id1,trx1 id2,trx2 mysqlbinlog set gtid_next = id1 ; trx1 set gtid_next = id2 ; trx2 33

MySQL Utilities 34

MySQL Utilities とは? MySQL を管理するための Python スクリプト集 最新バージョンは 1.2.0 MySQL Workbench 5.2.31 以降に同梱 現在は 5.2.47 ライセンスは GPLv2 コードライブラリを用意しているので拡張が容易 さまざまな運用管理タスクをカバーできるツール作りが目標 35

データベース管理 mysqldbcompare データや定義を比較 mysqldbcopy 別のサーバにデータベースをコピー mysqldbexport データとメタデータをエクスポート mysqldbimport データとメタデータをインスポート mysqldiff サーバ間のテーブルなどオブジェクトの定義を比較 36

各種操作 mysqldiskusage デーブルおよびデータファイルのサイズを表示 mysqlindexcheck インデックスの重複をチェック mysqlmetagrep テーブル定義のメタデータをgrep ( 正規表現利用可 ) mysqlprocgrep プロセス情報をgrep ( 正規表現利用可 ) mysqluserclone 別のサーバにユーザアカウントををコピー mysqluc コマンドライン環境 37

高可用性関連 mysqlfailover レプリケーションの自動フェールオーバー mysqlreplicate レプリケーションを設定 mysqlrpladmin レプリケーションの各種管理 mysqlrplcheck レプリケーションが正しく設定されているかの確認 mysqlrplshow レプリケーショントポロジ ( 親子関係 ) を図示 38

サーバ管理 mysqlserverclone 既存の MySQL サーバのコピーを作成 mysqlserverinfo サーバの稼働状況を表示 39

MySQL Workbench のダウンロード MySQL Workbench http://www.mysql.com/downloads/workbench/ MySQL Utilities のドキュメント : http://dev.mysql.com/doc/workbench/en/mysqlutilities.html 40

Launchpad からのダウンロード https://launchpad.net/mysql-utilities bzr branch lp:mysql-utilities Connector/Python が必要 https://launchpad.net/myconnpy bzr branch lp:myconnpy 41

MySQL Workbench から MySQL Utilities を起動 MySQL Utilities コマンドウィンドウを起動 : メニューの Plugins を選択 Start Shell for MySQL Utilities を選択 - または - Workbenchのメイン画面から : メイン画面右側の をクリック MySQL Utilitiesのアイコンを選択 42

MySQL Workbench から MySQL Utilities を起動 43

MySQL Workbench から MySQL Utilities を起動 44

アーキテクチャ Scripts Connector/Python Command Module mysql.utilities.command Common Library Classes mysql.utilities.common MySQL Utilities Library 45

mysqlfailover による自動フェールオーバー GTID が有効になった MySQL 5.6 の自動フェールオーバーが可能 レプリケーションの稼働状態をチェック 1.0.5 での新機能 (MySQL Workbench 5.2.39) 46

mysqlfailover による自動フェールオーバー 47

mysqlfailover フェールオーバーのモード Auto まず候補リストのスレーブ その後それ以外のスレーブにフェールオーバー Elect 候補リストのスレーブのみにフェールオーバー Fail マスター障害時にエラーとする 48

mysqlfailover 拡張のポイント exec-fail-check - アプリケーション特有の問題を検知して フェールオーバーが必要か判断するスクリプトを実行 exec-before - フェールオーバーが起こる前に実行されるスクリプト exec-after - 新しいマスターにフェールオーバーした直後に実行されるスクリプト exec-post-fail - フェールオーバーが完了し 全てのスレーブが新しいマスターを参照した後で実行されるスクリプト 49

実行例 - failover 50

mysqlrpladmin によるレプリケーション管理 レプリケーション環境内のサーバを管理 レプリケーション接続の稼働状況を確認 フェールオーバー スイッチオーバー ( 手動でのスレーブ昇格 ) レプリケーション停止などのスレーブの操作 51

mysqlrpladmin コマンド elect - (GTID 必要 ) フェールオーバーやスイッチオーバーの際に利用すべきスレーブを選択 failover - (GTID 必要 ) 最適な スレーブにフェールオーバー スレーブのリストから最適なをテストし 選択後は未実行のトランザクションを他のスレーブから収集し 最新の状態とする その後 新しいマスターに昇格 gtid - (GTID 必要 ) GTID の内容を表示する 52

mysqlrpladmin コマンド health - レプリケーション構成の稼働状況を確認 reset - スレーブ上で STOP SLAVE と RESET SLAVE を実行 start - START SLAVE を実行 stop - 全てのスレーブ上で STOP SLAVE を実行 switchover - --new-master オプションで指定したスレーブを新しいマスターとして昇格させる GTID を利用していない環境でも利用可能 53

実行例 - switchover 54

レプリケーションの構築と状況確認 既存のレプリケーションが存在する状態で 新たにスレーブを追加する スレーブとなるサーバには MySQL はインストール済み 1. mysqldbexport でマスターのデータをエクスポート 2. mysqldbimport で新しいスレーブにデータをインポート 3. mysqluserclone で新しいスレーブにユーザアカウントをコピー 4. mysqlreplicate で新しいスレーブにレプリケーションを設定 5. mysqlrpladmin でレプリケーション構成を確認 フェールオーバーは mysqlfailover を利用 55

Try NOW!! MySQL 5.6 GA & MySQL Utilities 56

57

58