Soumettre la recherche
Mettre en ligne
MySQL のオンラインバックアップ & リカバリ
•
9 j'aime
•
7,264 vues
k_teru
Suivre
MySQL のバックアップとリカバリについて軽くまとめました。
Lire moins
Lire la suite
Ingénierie
Signaler
Partager
Signaler
Partager
1 sur 20
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
MySQLバックアップの基本
MySQLバックアップの基本
yoyamasaki
MySQL 初めてのチューニング
MySQL 初めてのチューニング
Craft works
MySQLの運用でありがちなこと
MySQLの運用でありがちなこと
Hiroaki Sano
S10 日本東西リージョンでのディザスタ リカバリ環境の実現
S10 日本東西リージョンでのディザスタ リカバリ環境の実現
Microsoft Azure Japan
tcpdump & xtrabackup @ MySQL Casual Talks #1
tcpdump & xtrabackup @ MySQL Casual Talks #1
Ryosuke IWANAGA
MySQL Cluster 新機能解説 7.5 and beyond
MySQL Cluster 新機能解説 7.5 and beyond
Mikiya Okuno
MySQL カジュアル 福岡 03
MySQL カジュアル 福岡 03
Aya Komuro
カジュアルにバックアップ - MySQL Casual Talks 福岡
カジュアルにバックアップ - MySQL Casual Talks 福岡
Aya Komuro
Recommandé
MySQLバックアップの基本
MySQLバックアップの基本
yoyamasaki
MySQL 初めてのチューニング
MySQL 初めてのチューニング
Craft works
MySQLの運用でありがちなこと
MySQLの運用でありがちなこと
Hiroaki Sano
S10 日本東西リージョンでのディザスタ リカバリ環境の実現
S10 日本東西リージョンでのディザスタ リカバリ環境の実現
Microsoft Azure Japan
tcpdump & xtrabackup @ MySQL Casual Talks #1
tcpdump & xtrabackup @ MySQL Casual Talks #1
Ryosuke IWANAGA
MySQL Cluster 新機能解説 7.5 and beyond
MySQL Cluster 新機能解説 7.5 and beyond
Mikiya Okuno
MySQL カジュアル 福岡 03
MySQL カジュアル 福岡 03
Aya Komuro
カジュアルにバックアップ - MySQL Casual Talks 福岡
カジュアルにバックアップ - MySQL Casual Talks 福岡
Aya Komuro
WindowsでMySQL入門
WindowsでMySQL入門
Hidenori Ishii
Infinispan - Open Source Data Grid
Infinispan - Open Source Data Grid
nekop
20170329 D3 DBAが夜間メンテをしなくなった日 発表資料
20170329 D3 DBAが夜間メンテをしなくなった日 発表資料
dcubeio
バックアップとリストアの基礎
バックアップとリストアの基礎
Kazuki Takai
Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3
Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3
infinite_loop
S14 azure site recovery を利用したオンプレミスから azure のサイト回復
S14 azure site recovery を利用したオンプレミスから azure のサイト回復
Microsoft Azure Japan
Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)
Yoshinori Matsunobu
LINEのMySQL運用について 修正版
LINEのMySQL運用について 修正版
LINE Corporation
Persistence on Azure - Microsoft Azure の永続化
Persistence on Azure - Microsoft Azure の永続化
Takekazu Omi
Handlersocket 20140218
Handlersocket 20140218
akirahiguchi
MySQLチューニング
MySQLチューニング
yoku0825
20120913 nosql@hikarie(okuyama fuse)
20120913 nosql@hikarie(okuyama fuse)
Takahiro Iwase
MySQL Cluster 解説 & MySQL Cluster 7.3 最新情報
MySQL Cluster 解説 & MySQL Cluster 7.3 最新情報
yoyamasaki
MHA for MySQLとDeNAのオープンソースの話
MHA for MySQLとDeNAのオープンソースの話
Yoshinori Matsunobu
MySQL clients
MySQL clients
yoku0825
MySQLを割と一人で300台管理する技術
MySQLを割と一人で300台管理する技術
yoku0825
お金が無いときのMySQL Cluster頼み
お金が無いときのMySQL Cluster頼み
aoike
S01 企業で活用が進む Microsoft Azureの仮想マシン (Windows)
S01 企業で活用が進む Microsoft Azureの仮想マシン (Windows)
Microsoft Azure Japan
Chugoku db 17th-postgresql-9.6
Chugoku db 17th-postgresql-9.6
Toshi Harada
MySQL Clusterを運用して10ヶ月間
MySQL Clusterを運用して10ヶ月間
hiroi10
1台から500台までのMySQL運用(YAPC::Asia編)
1台から500台までのMySQL運用(YAPC::Asia編)
Masahiro Nagano
いまいまMySQL@OSC2016長岡
いまいまMySQL@OSC2016長岡
sakaik
Contenu connexe
Tendances
WindowsでMySQL入門
WindowsでMySQL入門
Hidenori Ishii
Infinispan - Open Source Data Grid
Infinispan - Open Source Data Grid
nekop
20170329 D3 DBAが夜間メンテをしなくなった日 発表資料
20170329 D3 DBAが夜間メンテをしなくなった日 発表資料
dcubeio
バックアップとリストアの基礎
バックアップとリストアの基礎
Kazuki Takai
Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3
Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3
infinite_loop
S14 azure site recovery を利用したオンプレミスから azure のサイト回復
S14 azure site recovery を利用したオンプレミスから azure のサイト回復
Microsoft Azure Japan
Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)
Yoshinori Matsunobu
LINEのMySQL運用について 修正版
LINEのMySQL運用について 修正版
LINE Corporation
Persistence on Azure - Microsoft Azure の永続化
Persistence on Azure - Microsoft Azure の永続化
Takekazu Omi
Handlersocket 20140218
Handlersocket 20140218
akirahiguchi
MySQLチューニング
MySQLチューニング
yoku0825
20120913 nosql@hikarie(okuyama fuse)
20120913 nosql@hikarie(okuyama fuse)
Takahiro Iwase
MySQL Cluster 解説 & MySQL Cluster 7.3 最新情報
MySQL Cluster 解説 & MySQL Cluster 7.3 最新情報
yoyamasaki
MHA for MySQLとDeNAのオープンソースの話
MHA for MySQLとDeNAのオープンソースの話
Yoshinori Matsunobu
MySQL clients
MySQL clients
yoku0825
MySQLを割と一人で300台管理する技術
MySQLを割と一人で300台管理する技術
yoku0825
お金が無いときのMySQL Cluster頼み
お金が無いときのMySQL Cluster頼み
aoike
S01 企業で活用が進む Microsoft Azureの仮想マシン (Windows)
S01 企業で活用が進む Microsoft Azureの仮想マシン (Windows)
Microsoft Azure Japan
Chugoku db 17th-postgresql-9.6
Chugoku db 17th-postgresql-9.6
Toshi Harada
MySQL Clusterを運用して10ヶ月間
MySQL Clusterを運用して10ヶ月間
hiroi10
Tendances
(20)
WindowsでMySQL入門
WindowsでMySQL入門
Infinispan - Open Source Data Grid
Infinispan - Open Source Data Grid
20170329 D3 DBAが夜間メンテをしなくなった日 発表資料
20170329 D3 DBAが夜間メンテをしなくなった日 発表資料
バックアップとリストアの基礎
バックアップとリストアの基礎
Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3
Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3
S14 azure site recovery を利用したオンプレミスから azure のサイト回復
S14 azure site recovery を利用したオンプレミスから azure のサイト回復
Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)
LINEのMySQL運用について 修正版
LINEのMySQL運用について 修正版
Persistence on Azure - Microsoft Azure の永続化
Persistence on Azure - Microsoft Azure の永続化
Handlersocket 20140218
Handlersocket 20140218
MySQLチューニング
MySQLチューニング
20120913 nosql@hikarie(okuyama fuse)
20120913 nosql@hikarie(okuyama fuse)
MySQL Cluster 解説 & MySQL Cluster 7.3 最新情報
MySQL Cluster 解説 & MySQL Cluster 7.3 最新情報
MHA for MySQLとDeNAのオープンソースの話
MHA for MySQLとDeNAのオープンソースの話
MySQL clients
MySQL clients
MySQLを割と一人で300台管理する技術
MySQLを割と一人で300台管理する技術
お金が無いときのMySQL Cluster頼み
お金が無いときのMySQL Cluster頼み
S01 企業で活用が進む Microsoft Azureの仮想マシン (Windows)
S01 企業で活用が進む Microsoft Azureの仮想マシン (Windows)
Chugoku db 17th-postgresql-9.6
Chugoku db 17th-postgresql-9.6
MySQL Clusterを運用して10ヶ月間
MySQL Clusterを運用して10ヶ月間
Similaire à MySQL のオンラインバックアップ & リカバリ
1台から500台までのMySQL運用(YAPC::Asia編)
1台から500台までのMySQL運用(YAPC::Asia編)
Masahiro Nagano
いまいまMySQL@OSC2016長岡
いまいまMySQL@OSC2016長岡
sakaik
2019年度 若手技術者向け講座 NoSQL
2019年度 若手技術者向け講座 NoSQL
keki3
AWSのRedHatにMySQL最速インストール
AWSのRedHatにMySQL最速インストール
sakaik
Mysql casial01
Mysql casial01
matsuo kenji
2019年度 若手技術者向け講座 実行計画
2019年度 若手技術者向け講座 実行計画
keki3
いまいまMySQL@OSC2016福岡
いまいまMySQL@OSC2016福岡
sakaik
Yahoo! JAPANのプライベートRDBクラウドとマルチライター型 MySQL #dbts2017 #dbtsOSS
Yahoo! JAPANのプライベートRDBクラウドとマルチライター型 MySQL #dbts2017 #dbtsOSS
Yahoo!デベロッパーネットワーク
2018年度 若手技術者向け講座 インデックス
2018年度 若手技術者向け講座 インデックス
keki3
MHA, Murakumo & Me
MHA, Murakumo & Me
Michael H. Oshita
Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14
Masahiro Nagano
MySQL SQL tuning
MySQL SQL tuning
Tetsuro Nagae
PostgreSQL運用管理入門
PostgreSQL運用管理入門
Yoshiyuki Asaba
mysqlcasual6-fabric
mysqlcasual6-fabric
doublemarket
MySQl 5.6新機能解説@第一回 中国地方DB勉強会
MySQl 5.6新機能解説@第一回 中国地方DB勉強会
Mikiya Okuno
Similaire à MySQL のオンラインバックアップ & リカバリ
(15)
1台から500台までのMySQL運用(YAPC::Asia編)
1台から500台までのMySQL運用(YAPC::Asia編)
いまいまMySQL@OSC2016長岡
いまいまMySQL@OSC2016長岡
2019年度 若手技術者向け講座 NoSQL
2019年度 若手技術者向け講座 NoSQL
AWSのRedHatにMySQL最速インストール
AWSのRedHatにMySQL最速インストール
Mysql casial01
Mysql casial01
2019年度 若手技術者向け講座 実行計画
2019年度 若手技術者向け講座 実行計画
いまいまMySQL@OSC2016福岡
いまいまMySQL@OSC2016福岡
Yahoo! JAPANのプライベートRDBクラウドとマルチライター型 MySQL #dbts2017 #dbtsOSS
Yahoo! JAPANのプライベートRDBクラウドとマルチライター型 MySQL #dbts2017 #dbtsOSS
2018年度 若手技術者向け講座 インデックス
2018年度 若手技術者向け講座 インデックス
MHA, Murakumo & Me
MHA, Murakumo & Me
Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14
MySQL SQL tuning
MySQL SQL tuning
PostgreSQL運用管理入門
PostgreSQL運用管理入門
mysqlcasual6-fabric
mysqlcasual6-fabric
MySQl 5.6新機能解説@第一回 中国地方DB勉強会
MySQl 5.6新機能解説@第一回 中国地方DB勉強会
MySQL のオンラインバックアップ & リカバリ
1.
MySQL のオンラインバックアップ & リカバリ 2014/05/24 teru @TKS
#3
2.
アジェンダ • バックアップ • mysqldump
コマンド • 推奨オプション • 便利なオプション ! • リカバリ • ダンプのリストア方法 • mysqlbinlog コマンド • バイナリログの適用 (ポイントインタイムリカバリ) 2
3.
バックアップ編 3
4.
mysqldump • MySQL に付属している論理バックアップツール ! •
SQL 文が羅列されたものが出力される 4 DROP TABLE IF EXISTS `sometable`; CREATE TABLE `sometable` ( ... INSERT INTO `sometable` VALUES ( ... INSERT INTO `sometable` VALUES ( ... INSERT INTO `sometable` VALUES ( ... INSERT INTO `sometable` VALUES ( ...
5.
対象テーブルの指定 • mysqldump somedb •
somedb 内のテーブルすべてダンプ ! • mysqldump somedb sometable1 sometable2 • somedb.sometable1, somedb.sometable2 のみバッ クアップ ! • mysqldump --ignore-table=somedb.gomitable1 somedb • somedb.gomitable1 は無視する • オプションを繰り返すことで複数指定可 5
6.
デフォルト有効のオプション • mysqldump は、デフォルトで
"--opt" が有効になっている。 • "--skip-opt" で無効にできる。 ! • "--opt" は下記と同義 • --add-drop-table • --add-locks • --create-options • --disable-keys • --extended-insert • --lock-tables • --quick 6
7.
デフォルト有効のオプション • --extended-insert • INSERT
一文に、複数のレコードが入る • メリット: リストア速度が早い ! ! ! ! • --skip-extended-insert • 1 レコード 1 INSERT になる。 • メリット: ダンプファイルをいじりやすい 7 INSERT INTO `sometable` VALUES (1,1980,'piyopiyo','','2014-05-24 13:44:51'),(2,1981,'hogehoge','','2014-05-24 13:45:05'), (3,1982,'hugahuga','','2014-05-24 14:44:27');
8.
デフォルト有効のオプション • --lock-tables • テーブルのダンプ前、ロックを掛ける •
ダンプ中はそのテーブルの更新ができない ! • --skip-lock-tables • ロックしない • サーバ移行時の事前テストなど、カジュアルにダンプ ができる 8
9.
推奨オプション • --single-transaction • ダンプが単一トランザクションになる •
ダンプ開始時点の断面がダンプできる • かつ、ダンプ中更新可能 • ※ トランザクション対応 DB でのみ可能 (InnoDB など) ! • --master-data=2 • ダンプファイル内に、バイナリログのポジションがコメントで入る • ポイントインタイムリカバリに使える 9 -- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=1457;
10.
推奨オプション • --order-by-primary • ダンプを主キーでソートして出力する •
InnoDB のリストアが爆速になる ! ! ! ! ! ! • 444MBのダンプファイルのリスト時 • 引用: http://d.hatena.ne.jp/sh2/20120122 10 innodb_buffer_pool_size
11.
おまけ: クラスタインデックス 11
12.
僕がいつも使うオプション ! • mysqldump --default-character-set=binary
--opt -c somedb • MyISAM の場合 ! • mysqldump --default-character-set=binary --opt -c --single-transaction --master-data=2 --order-by- primary somedb • InnoDB の場合 • binlog 出しとく 12
13.
その他知っとくと便利なオプション • --where="deleted_at >=
'2013-10-01 00:00:00'" • ダンプ時に where 句指定で吐ける • 「"」「'」 に注意 ! • --no-data • テーブルの定義のみダンプ • CREATE TABLE, CREATE INDEX などのみ ! • --no-create-info • データのみダンプ • INSERT のみ 13
14.
リストア編 14
15.
ダンプファイルのリストア方法 ! • cat somedb.sql
| mysql somedb • 普通の方法 ! • cat somedb.sql | throttle -M 1 | mysql somedb • throttle コマンドで 1MB/s に制限 • 負荷を掛けたくない時に有用 15
16.
mysqlbinlog コマンド ! • バイナリログから
SQL 構文を作るコマンド ! • 出力されたファイルは、ダンプファイルと同じようにリ ストアに使用できる。 ! • 文法 • mysqlbinlog [OPTIONS] mysql-bin.000001 ... 16
17.
mysqlbinlog オプション • --start-position=4 •
--stop-position=123456 • バイナリログの読み込み開始・終了のポイントを、ポ ジションで指定 ! • --start-datetime="2013-01-01 12:34:56" • --stop-datetime="2013-01-01 12:34:56" • バイナリログの読み込み開始・終了のポイントを、時 刻で指定 ! • --database=somedb • バイナリログの中で、対象のデータベースを指定 17
18.
(再掲) 推奨オプション • --single-transaction •
ダンプが単一トランザクションになる • ダンプ開始時点の断面がダンプできる • かつ、ダンプ中更新可能 • ※ トランザクション対応 DB でのみ可能 (InnoDB など) ! • --master-data=2 • ダンプファイル内に、バイナリログのポジションがコメントで入る • ポイントインタイムリカバリに使える ! ! ! 18 -- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=1457;
19.
mysqlbinlog 使用例 ! ! ! ! ! • 状況の例 •
--master-data=2 で取得したバックアップがある ! • 15:00:00 にバルス (DROP TABLES) してしまった ! • バックアップと tmp.sql でバルス直前の状態まで戻せ る 19 $ mysqlbinlog --start-position=1457 --stop-datetime="2014-05-24 14:59:00" mysql-bin.000001 > tmp.sql -- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=1457;
20.
以上 20
Télécharger maintenant