Enviar búsqueda
Cargar
tcpdump & xtrabackup @ MySQL Casual Talks #1
•
17 recomendaciones
•
5,509 vistas
Ryosuke IWANAGA
Seguir
Tecnología
Denunciar
Compartir
Denunciar
Compartir
1 de 39
Descargar ahora
Descargar para leer sin conexión
Recomendados
MySQL 初めてのチューニング
MySQL 初めてのチューニング
Craft works
MySQLの運用でありがちなこと
MySQLの運用でありがちなこと
Hiroaki Sano
Mysql casial01
Mysql casial01
matsuo kenji
MySQL clients
MySQL clients
yoku0825
MHA for MySQLとDeNAのオープンソースの話
MHA for MySQLとDeNAのオープンソースの話
Yoshinori Matsunobu
MySQLの冗長化 2013-01-24
MySQLの冗長化 2013-01-24
Yoshihiko Matsuzaki
MySQLメインの人がPostgreSQLのベンチマークをしてみた話
MySQLメインの人がPostgreSQLのベンチマークをしてみた話
hiroi10
MySQL ガチBeginnerがやってみたことと反省したこと
MySQL ガチBeginnerがやってみたことと反省したこと
Satoshi Suzuki
Recomendados
MySQL 初めてのチューニング
MySQL 初めてのチューニング
Craft works
MySQLの運用でありがちなこと
MySQLの運用でありがちなこと
Hiroaki Sano
Mysql casial01
Mysql casial01
matsuo kenji
MySQL clients
MySQL clients
yoku0825
MHA for MySQLとDeNAのオープンソースの話
MHA for MySQLとDeNAのオープンソースの話
Yoshinori Matsunobu
MySQLの冗長化 2013-01-24
MySQLの冗長化 2013-01-24
Yoshihiko Matsuzaki
MySQLメインの人がPostgreSQLのベンチマークをしてみた話
MySQLメインの人がPostgreSQLのベンチマークをしてみた話
hiroi10
MySQL ガチBeginnerがやってみたことと反省したこと
MySQL ガチBeginnerがやってみたことと反省したこと
Satoshi Suzuki
DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!
kwatch
MySQLやSSDとかの話 前編
MySQLやSSDとかの話 前編
Takanori Sejima
MySQLバックアップの基本
MySQLバックアップの基本
yoyamasaki
Handlersocket 20140218
Handlersocket 20140218
akirahiguchi
MHAの次を目指す mikasafabric for MySQL
MHAの次を目指す mikasafabric for MySQL
yoku0825
Handlersocket etc. 20110906
Handlersocket etc. 20110906
akirahiguchi
ゆるふわMySQLフェイルオーバー
ゆるふわMySQLフェイルオーバー
Kimitoshi Takahashi
MySQLチューニング
MySQLチューニング
yoku0825
MySQL 5.6新機能解説@dbtechshowcase2012
MySQL 5.6新機能解説@dbtechshowcase2012
Mikiya Okuno
MySQL Clusterを運用して10ヶ月間
MySQL Clusterを運用して10ヶ月間
hiroi10
My sql casual_in_fukuoka_vol1
My sql casual_in_fukuoka_vol1
Makoto Haruyama
MySQL Casual Talks in Fukuoka vol.2
MySQL Casual Talks in Fukuoka vol.2
学 松崎
Mysql toranomaki
Mysql toranomaki
Mikiya Okuno
MySQL カジュアル 福岡 03
MySQL カジュアル 福岡 03
Aya Komuro
実践!データベースリファクタリングツール
実践!データベースリファクタリングツール
Tatsunori Matoba
MySQLを割と一人で300台管理する技術
MySQLを割と一人で300台管理する技術
yoku0825
MySQL5.7 GA の Multi-threaded slave
MySQL5.7 GA の Multi-threaded slave
Takanori Sejima
MySQLやSSDとかの話 後編
MySQLやSSDとかの話 後編
Takanori Sejima
sysloadや監視などの話(仮)
sysloadや監視などの話(仮)
Takanori Sejima
「今そこにある危機」を捉える ~ pg_stat_statements revisited
「今そこにある危機」を捉える ~ pg_stat_statements revisited
Uptime Technologies LLC (JP)
Tcpdump basico
Tcpdump basico
Josu Orbe
TCPdump-Wireshark
TCPdump-Wireshark
Harsh Singh
Más contenido relacionado
La actualidad más candente
DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!
kwatch
MySQLやSSDとかの話 前編
MySQLやSSDとかの話 前編
Takanori Sejima
MySQLバックアップの基本
MySQLバックアップの基本
yoyamasaki
Handlersocket 20140218
Handlersocket 20140218
akirahiguchi
MHAの次を目指す mikasafabric for MySQL
MHAの次を目指す mikasafabric for MySQL
yoku0825
Handlersocket etc. 20110906
Handlersocket etc. 20110906
akirahiguchi
ゆるふわMySQLフェイルオーバー
ゆるふわMySQLフェイルオーバー
Kimitoshi Takahashi
MySQLチューニング
MySQLチューニング
yoku0825
MySQL 5.6新機能解説@dbtechshowcase2012
MySQL 5.6新機能解説@dbtechshowcase2012
Mikiya Okuno
MySQL Clusterを運用して10ヶ月間
MySQL Clusterを運用して10ヶ月間
hiroi10
My sql casual_in_fukuoka_vol1
My sql casual_in_fukuoka_vol1
Makoto Haruyama
MySQL Casual Talks in Fukuoka vol.2
MySQL Casual Talks in Fukuoka vol.2
学 松崎
Mysql toranomaki
Mysql toranomaki
Mikiya Okuno
MySQL カジュアル 福岡 03
MySQL カジュアル 福岡 03
Aya Komuro
実践!データベースリファクタリングツール
実践!データベースリファクタリングツール
Tatsunori Matoba
MySQLを割と一人で300台管理する技術
MySQLを割と一人で300台管理する技術
yoku0825
MySQL5.7 GA の Multi-threaded slave
MySQL5.7 GA の Multi-threaded slave
Takanori Sejima
MySQLやSSDとかの話 後編
MySQLやSSDとかの話 後編
Takanori Sejima
sysloadや監視などの話(仮)
sysloadや監視などの話(仮)
Takanori Sejima
「今そこにある危機」を捉える ~ pg_stat_statements revisited
「今そこにある危機」を捉える ~ pg_stat_statements revisited
Uptime Technologies LLC (JP)
La actualidad más candente
(20)
DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!
MySQLやSSDとかの話 前編
MySQLやSSDとかの話 前編
MySQLバックアップの基本
MySQLバックアップの基本
Handlersocket 20140218
Handlersocket 20140218
MHAの次を目指す mikasafabric for MySQL
MHAの次を目指す mikasafabric for MySQL
Handlersocket etc. 20110906
Handlersocket etc. 20110906
ゆるふわMySQLフェイルオーバー
ゆるふわMySQLフェイルオーバー
MySQLチューニング
MySQLチューニング
MySQL 5.6新機能解説@dbtechshowcase2012
MySQL 5.6新機能解説@dbtechshowcase2012
MySQL Clusterを運用して10ヶ月間
MySQL Clusterを運用して10ヶ月間
My sql casual_in_fukuoka_vol1
My sql casual_in_fukuoka_vol1
MySQL Casual Talks in Fukuoka vol.2
MySQL Casual Talks in Fukuoka vol.2
Mysql toranomaki
Mysql toranomaki
MySQL カジュアル 福岡 03
MySQL カジュアル 福岡 03
実践!データベースリファクタリングツール
実践!データベースリファクタリングツール
MySQLを割と一人で300台管理する技術
MySQLを割と一人で300台管理する技術
MySQL5.7 GA の Multi-threaded slave
MySQL5.7 GA の Multi-threaded slave
MySQLやSSDとかの話 後編
MySQLやSSDとかの話 後編
sysloadや監視などの話(仮)
sysloadや監視などの話(仮)
「今そこにある危機」を捉える ~ pg_stat_statements revisited
「今そこにある危機」を捉える ~ pg_stat_statements revisited
Destacado
Tcpdump basico
Tcpdump basico
Josu Orbe
TCPdump-Wireshark
TCPdump-Wireshark
Harsh Singh
Tomasz P from Poland
Tomasz P from Poland
irenazd
Cain and abel
Cain and abel
Maxiene Alex Mejia
Kismet
Kismet
Nilesh Pawar
09 Cain And Abel
09 Cain And Abel
Maranata
Tcpdump
Tcpdump
Sourav Roy
Wireshark
Wireshark
Deepika Ojha
Tcpdump hunter
Tcpdump hunter
Andrew McNicol
Tcpdump
Tcpdump
Tensor
Practical Packet Analysis: Wireshark
Practical Packet Analysis: Wireshark
Ashley Wheeler
Wireshark - presentation
Wireshark - presentation
Kateryna Haskova
Network Packet Analysis with Wireshark
Network Packet Analysis with Wireshark
Jim Gilsinn
Destacado
(13)
Tcpdump basico
Tcpdump basico
TCPdump-Wireshark
TCPdump-Wireshark
Tomasz P from Poland
Tomasz P from Poland
Cain and abel
Cain and abel
Kismet
Kismet
09 Cain And Abel
09 Cain And Abel
Tcpdump
Tcpdump
Wireshark
Wireshark
Tcpdump hunter
Tcpdump hunter
Tcpdump
Tcpdump
Practical Packet Analysis: Wireshark
Practical Packet Analysis: Wireshark
Wireshark - presentation
Wireshark - presentation
Network Packet Analysis with Wireshark
Network Packet Analysis with Wireshark
Similar a tcpdump & xtrabackup @ MySQL Casual Talks #1
Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14
Masahiro Nagano
HashiCorpのNomadを使ったコンテナのスケジューリング手法
HashiCorpのNomadを使ったコンテナのスケジューリング手法
Masahito Zembutsu
LINEのMySQL運用について
LINEのMySQL運用について
LINE Corporation
Maatkitの紹介
Maatkitの紹介
Akinori YOSHIDA
20140612_Docker上でCloudStackを動かしてみる!!
20140612_Docker上でCloudStackを動かしてみる!!
Midori Oge
Webサーバのチューニング
Webサーバのチューニング
Yu Komiya
ioMemoryとAtomic Writeによるデータベース高速化
ioMemoryとAtomic Writeによるデータベース高速化
IIJ
Node予備校 vol.1 名古屋
Node予備校 vol.1 名古屋
Mori Shingo
TripleOの光と闇
TripleOの光と闇
Manabu Ori
Maatkit で MySQL チューニング
Maatkit で MySQL チューニング
Kensuke Nagae
配布用Beginnerならきっと役立つmaster slave環境
配布用Beginnerならきっと役立つmaster slave環境
yut148atgmaildotcom
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
Akihiro Kuwano
Lxc cf201207-presen
Lxc cf201207-presen
Kouhei Maeda
データマイニング+WEB勉強会資料第6回
データマイニング+WEB勉強会資料第6回
Naoyuki Yamada
HandlerSocket plugin for MySQL
HandlerSocket plugin for MySQL
akirahiguchi
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
maebashi
[A33] [特濃jpoug statspack on pdb oracle database 12c] 20131115 補足・続報付き
[A33] [特濃jpoug statspack on pdb oracle database 12c] 20131115 補足・続報付き
Insight Technology, Inc.
Puppet on AWS
Puppet on AWS
Sugawara Genki
Apache cloudstack4.0インストール
Apache cloudstack4.0インストール
Yasuhiro Arai
ゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せます
infinite_loop
Similar a tcpdump & xtrabackup @ MySQL Casual Talks #1
(20)
Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14
HashiCorpのNomadを使ったコンテナのスケジューリング手法
HashiCorpのNomadを使ったコンテナのスケジューリング手法
LINEのMySQL運用について
LINEのMySQL運用について
Maatkitの紹介
Maatkitの紹介
20140612_Docker上でCloudStackを動かしてみる!!
20140612_Docker上でCloudStackを動かしてみる!!
Webサーバのチューニング
Webサーバのチューニング
ioMemoryとAtomic Writeによるデータベース高速化
ioMemoryとAtomic Writeによるデータベース高速化
Node予備校 vol.1 名古屋
Node予備校 vol.1 名古屋
TripleOの光と闇
TripleOの光と闇
Maatkit で MySQL チューニング
Maatkit で MySQL チューニング
配布用Beginnerならきっと役立つmaster slave環境
配布用Beginnerならきっと役立つmaster slave環境
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
Lxc cf201207-presen
Lxc cf201207-presen
データマイニング+WEB勉強会資料第6回
データマイニング+WEB勉強会資料第6回
HandlerSocket plugin for MySQL
HandlerSocket plugin for MySQL
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
[A33] [特濃jpoug statspack on pdb oracle database 12c] 20131115 補足・続報付き
[A33] [特濃jpoug statspack on pdb oracle database 12c] 20131115 補足・続報付き
Puppet on AWS
Puppet on AWS
Apache cloudstack4.0インストール
Apache cloudstack4.0インストール
ゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せます
Más de Ryosuke IWANAGA
"I want to use Fluentd" Fluentd Casual Talks LT
"I want to use Fluentd" Fluentd Casual Talks LT
Ryosuke IWANAGA
"Mobage DBA Fight against Big Data" - NHN TE
"Mobage DBA Fight against Big Data" - NHN TE
Ryosuke IWANAGA
"Ops Tools with Perl" 2012/05/12 Hokkaido.pm
"Ops Tools with Perl" 2012/05/12 Hokkaido.pm
Ryosuke IWANAGA
English Casual 2012/05/10
English Casual 2012/05/10
Ryosuke IWANAGA
Devsumi2012 攻めの運用の極意
Devsumi2012 攻めの運用の極意
Ryosuke IWANAGA
20120127 LDeNA LT riywo
20120127 LDeNA LT riywo
Ryosuke IWANAGA
#bphbqpstudy2012 LT riywo
#bphbqpstudy2012 LT riywo
Ryosuke IWANAGA
qpstudy#5 懇親会LT riywo
qpstudy#5 懇親会LT riywo
Ryosuke IWANAGA
Tsukuba.R#4
Tsukuba.R#4
Ryosuke IWANAGA
Más de Ryosuke IWANAGA
(9)
"I want to use Fluentd" Fluentd Casual Talks LT
"I want to use Fluentd" Fluentd Casual Talks LT
"Mobage DBA Fight against Big Data" - NHN TE
"Mobage DBA Fight against Big Data" - NHN TE
"Ops Tools with Perl" 2012/05/12 Hokkaido.pm
"Ops Tools with Perl" 2012/05/12 Hokkaido.pm
English Casual 2012/05/10
English Casual 2012/05/10
Devsumi2012 攻めの運用の極意
Devsumi2012 攻めの運用の極意
20120127 LDeNA LT riywo
20120127 LDeNA LT riywo
#bphbqpstudy2012 LT riywo
#bphbqpstudy2012 LT riywo
qpstudy#5 懇親会LT riywo
qpstudy#5 懇親会LT riywo
Tsukuba.R#4
Tsukuba.R#4
Último
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
Último
(9)
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
tcpdump & xtrabackup @ MySQL Casual Talks #1
1.
tcpdump
と xtrabackup @riywo
2.
アジェンダ ● tcpdumpとか
● tcpdumpでクエリ見る ● mk-query-digest ● MyQueryShow(3日で作った><) ● xtrabackupとか ● InnoDBのHotbackupの手法 ● xtrabackupの使い方入門編 2
3.
tcpdump とか
3
4.
tcpdumpでSQLを見る ● みんな大好きtcpdump ●
たまにパケット落ちるけど結構使える ● libpcapはそんなもんらしい ● mysql(やmemcachedやhttp)はテキスト プロトコルなので読める! 4
5.
tcpdumpでSQLを見る tcpdump -s 0
-l -w - dst port 3306|strings|perl -e ' while(<>) { chomp; next if /^[^ ]+[ ]*$/; if(/^(SELECT|UPDATE|DELETE|INSERT|SET|COMMIT| ROLLBACK|CREATE|DROP|ALTER)/i) { if (defined $q) { print "$qn"; } $q=$_; } else { $_ =~ s/^[ t]+//; $q.=" $_"; } }' http://www.mysqlperformanceblog.com/2008/11/07/poor-mans-query-logging/ 5
6.
6
7.
tcpdumpでSQLを見る ● これだと実行時間がわからない。 ●
日本語ちょっと化ける。 ● perlで頑張ればましになるかも。。 ● ※MySQL 5.1なら ● set global long_query_time = 0でslow- logに全部出る! ● 但しコネクションプールしてると出な い。。。(set globalは新規接続から) 7
8.
mk-query-digest ● Perconaの人が作ってるUtility
scripts “Maatkit”の中の1つ ● http://www.maatkit.org ● id:marqs++ ● http://www.slideshare.net/marqs/maat kit-4098945 8
9.
mk-query-digest インストール # wget http://maatkit.googlecode.com/files/maatkit- 7041.tar.gz #
tar xvzf maatkit-7041.tar.gz # cd maatkit-7041 # perl Makefile.PL # make & make install -> /usr/bin/mk-query-digest 9
10.
mk-query-digest 一般的な使用例(mysqldumpslow的な) # mk-query-digest slow.log
10
11.
mk-query-digest 実はtcpdumpも食える! # tcpdump -s
65535 -x -nn -q -tttt port 3306 > /tmp/tcp.log # mk-query-digest --type tcpdump /tmp/tcp.log ※おまけ 実はmemcachedのtcpdumpも食える! # tcpdump -s 65535 -x -nn -q -tttt port 11211 > /tmp/tcp.log # mk-query-digest --type memcached /tmp/tcp.log 11
12.
mk-query-digest ●
reportはある時点の状況分析にはよさげ ● 総実行時間や実行回数の割合 ● 実行時間の平均や95パーセンタイル ● せっかくなら継続的に結果をみたい ● 時系列での変化を分析できると極めて有用 ● ドキュメントをよく読んでみると… ● --review, --review-history ● クエリの種類毎に統計情報を記録する機能! ● SQLのレビュー用っぽい 12
13.
mk-query-digest query_reviewをDBに記録しよう # export DSN=”h=host,D=db,u=user,p=pw” #
mk-query-digest --review $DSN,t=query_review --review_history t=query_review_history --create- review-table --create-review-history-table ... 13
14.
mk-query-digest 継続的に記録する tcpdump.sh #!/bin/sh SEC=$1; HOSTNAME=`hostname` /usr/sbin/tcpdump -s
65535 -x -nn -q -tttt (dst port 3306 or src port 3306) and host $HOSTNAME 2> /dev/null & PID=$!; sleep $SEC; kill $PID mk-qd-review.sh #!/bin/sh DSN=$1; TCPFILE=$2 /usr/bin/mk-query-digest --no-report --type tcpdump --review- history t=query_review_history --review $DSN,t=query_review --create-review-table --create-review-history-table $TCPFILE rm -f $TCPFILE 14
15.
mk-query-digest 継続的に記録する crontab * * *
* * /root/tcpdump.sh 30 > /tmp/tcp.log.`date '+%Y%m %d_%H%M'` 2> /dev/null * * * * * /root/mk-qd-review.sh h=host,D=test,u=test,p=test /tmp/tcp.log.`date -d '1 minutes ago' '+%Y%m%d_%H%M'` 2> /dev/null →これで毎分30秒間tcpdumpを記録して、 その分析結果を継続的にDBに 入れられる!(゚д゚)ウマー 15
16.
mk-query-digest ●
統計情報をDBに入れるメリット ● SQLで簡単に抽出等ができる ● 例:〇〇時〇〇分から遅くなったクエリを探す ● でもSQLとかめんどいし。。。 ● 今流行はWEBアプリケーションだ! ● ブラウザでぽちぽち見れたら楽 ● ついでにグラフとかにできたらもっと楽 ● WEBアプリとか作ってみたい(←これが本音) 16
17.
作ってみた 「MyQueryShow」 https://github.com/riywo/MyQueryShow
17
18.
MyQueryShow
18
19.
MyQueryShow
19
20.
MyQueryShow ●
WAF ● Amon2(tokuhirom++) ● シンプルで使いやすい! ● jQuery + jQuery Grid plugin ● APIじゃなくてHTMLから表を作成 ● RRDTool ● 毎分バッチで統計DBから値取って更新 ● が、未実装。。 ● デモ 20
21.
MyQueryShow インストールなど $ git clone
git://... $ cd MyQueryShow $ cpanm -v --installdeps . ※ RRDsはがんばって入れて>< (apt/yum/port,brew) $ plackup MyQueryShow.psgi → 足りないと言われたモジュールはがんばってcpanmだ! $ perl -I./lib script/sync_data_to_rrd.pl → query_review(_history)をRRDに全部入れる ※ 基本的な運用としてはcronで今のデータだけを更新していく 21
22.
MyQueryShow ●
問題点 ● 名前がダサい ● UIがダサい ● ロジックがSQL ● 機能がしょぼい – クエリ詳細のページにexplainとか欲しい ● DB複数の時どうする? ● ソース上のクエリの実行箇所がわからん – →クエリコメント! 22
23.
MyQueryShow ※おまけ クエリコメント my $dbh =
DBI->connect('dbi:mysql:host=host:dbname=test','test','test', { RaiseError => 1, Callbacks => { ChildCallbacks => { execute => sub { my ($obj, @binds) = @_; my (undef, $file, $line) = caller; $obj->{Database}->{Statement} .= "/* $file:$line $obj->{Database}->{Name} */"; return; }, }, }, }); ↓ select * from query_review where checksum = '26684480389196246' 23 /* QueryComment.pm:30 host=localhost:dbname=test */
24.
もっと かっこいいの 誰か作って
><24
25.
xtrabackup とか
25
26.
InnoDBのHotbackup ●
Hotbackupとは… ● 更新を止めずにバックアップをすること ● バックアップ自体に時間がかかる(数時間はざら) ● →どうやって一貫性を保つか ● いくつかの方式 ● LVMのスナップショット ● mysqldump --single-transaction ● ibbackup & innobackup ● xtrabackup & innobackupex 26
27.
InnoDBのHotbackup ●
LVMのスナップショット ● あまりよく知らない>< ● 安定してなさそう ● mysqldump --single-transaction ● begin; してからmysqldumpする論理バックアップ ● データ増につれてバックアップ時間が長くなる ● ロールバックセグメントが肥大化する ● ibbackup & innobackup ● 有償>< 27
28.
InnoDBのHotbackup ●
xtrabackup & innobackupex ● ibbackup & innobackup風のオープンソフトウェア ● オンラインで物理バックアップができる! – バックアップ時間はレコード増えてもほぼ一定 ● 無償で使える Percona++ ● 簡単な説明 – WALを複製するプロセス – データファイルをコピーするプロセス – データファイルコピーが終わったら、WALを適応 – (適応はInnoDBのクラッシュリカバリを利用) – →コピー終了時点の静止断面が完成! 28
29.
[ InnoDB Internals:
InnoDB File Formats and Source Code Structure ]@MySQL University http://forge.mysql.com/wiki/InnoDB_Internals:_InnoDB_File_Formats_and_Source_Code_Structure
30.
2. その間にdatafleをコピー 1. InnoDBのWALを二重に記録
Copy of ibdata xtrabackup_logfile 3. 終了後に記録しておいたWALを適応 [ InnoDB Internals: InnoDB File Formats and Source Code Structure ]@MySQL University http://forge.mysql.com/wiki/InnoDB_Internals:_InnoDB_File_Formats_and_Source_Code_Structure
31.
xtrabackup使い方 インストール ・rpm/debを入れるのが簡単 ・makeする場合、MySQLのbuildも必要なのでちょっと面倒 http://www.percona.com/downloads/XtraBackup/LATEST/ ・xtrabackup WALのコピーとデータファイルのコピーができるCで書かれたプログ ラム。 ・innobackupex-XXX xtrabackupを便利に使うためのPerlで書かれたヘルパープログラ ム。 http://www.percona.com/docs/wiki/percona-xtrabackup:start
31
32.
xtrabackup使い方 ■よくある使い方 WALのコピーもデータファイルのコピーもxtrabackupで バックアップ # innobackupex-1.5.1 --slave-info
--user root --password pass /tmp/xtrabackup/ ■innobackupexの関数でフローを説明 start_ibbackup(); #xtrabackup起動 WALとデータのコピー開始 wait_for_ibbackup_suspend(); #データファイルコピー終了待ち mysql_lockall(); #更新をロックしてbinlogポジション記録 backup_files(); #.frmとかmysqlとかMyISAMをコピー resume_ibbackup(); #WALのコピーを停止 mysql_unlockall(); #ロックを解除 32
33.
xtrabackup使い方 ログの適応 # innobackupex-1.5.1 --apply-log /tmp/xtrabackup/YYYY-mm-dd_HH-MM-SS/ xtrabackup:
This target seems to be not prepared yet. xtrabackup: xtrabackup_logfile detected: size=2097152, start_lsn=(538288766) xtrabackup: Starting InnoDB instance for recovery. InnoDB: Log scan progressed past the checkpoint lsn 538288766 101211 11:25:25 InnoDB: Database was not shut down normally! InnoDB: Starting crash recovery. InnoDB: Doing recovery: scanned up to log sequence number 538934654 (34 %) 101211 11:25:25 InnoDB: Starting an apply batch of log records to the database... InnoDB: Progress in percents: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... xtrabackup: starting shutdown with innodb_fast_shutdown = 1 101211 11:25:26 InnoDB: Starting shutdown... 101211 11:25:31 InnoDB: Shutdown completed; log sequence number 538934654 xtrabackup: This target seems to be already prepared. xtrabackup: Starting InnoDB instance for recovery. 101211 11:25:32 InnoDB: Log file ./ib_logfile0 did not exist: new to be created InnoDB: Setting log file ./ib_logfile0 size to 1024 MB InnoDB: Database physically writes the file full: wait... InnoDB: Progress in MB: 100 200 300 400 500 600 700 800 900 1000 xtrabackup: starting shutdown with innodb_fast_shutdown = 1 101211 11:26:07 InnoDB: Starting shutdown... 33 101211 11:26:12 InnoDB: Shutdown completed; log sequence number 538934796
34.
xtrabackup使い方 ■よくある使い方2 WALのコピーをxtrabackupで、コピーはtar4ibdで ついでにgzipで固める(lzopの方が速くていいかも) # innobackupex-1.5.1 --stream=tar
--slave-info --user root --password pass ./ | gzip - > backup.tar.gz ・親プロセス wait_for_ibbackup_suspend(); #xtrabackupの準備待ち tar4ibdでデータファイルをSTDOUTへ mysql_lockall();以下同文(但し出力はSTDOUT) ・子プロセス xtrabackup --log-stream --target-dir=./ WALのコピーを行うだけ。始まったらsuspendファイル作る 34
35.
xtrabackup使い方 ■よくある使い方3 WALのコピーをxtrabackupで、コピーはscpで # innobackupex-1.5.1 --remote-host=host
--slave-info --user root --password pass /tmp/xtrabackup/ ・親プロセス wait_for_ibbackup_suspend(); #xtrabackupの準備待ち データファイルをscpでリモートホストへ mysql_loclall();以下同文(但し全てリモートホストへ) ・子プロセス xtrabackup --log-stream --target-dir=./ WALのコピーを行うだけ。始まったらsuspendファイル作る 35
36.
時間切れ ><
36
37.
続きは MySQL Casual
Talks #2 で(^^)v 37
38.
Thanks Oracle++ myfnder++ Speakers++ Listeners++
38
39.
Thank you for
listening God bless your MySQL! @riywo 39
Descargar ahora