SlideShare a Scribd company logo
1 of 63
Download to read offline
MySQL 4.0で9年動き続けたサーバを! 
リプレイスしてバージョンアップした話 
OKUMURA Takahiro 
MySQL Casual Talks vol.7
OKUMURA Takahiro! 
@hfm @tacahilo! 
2013年ペパボ新卒入社の2年目インフラエンジニア
今日の話 
MySQL 4.0.25で9年動き続けたサーバを,新 
しいサーバへリプレイスし,MySQL 5.0.96 
にバージョンアップした話! 
ホントはもっとバージョンを上げたかったけ 
ど,他の仕事の兼ね合いで間に合いませんで 
した
背景 
2013年度新卒採用でペパボに入社! 
7/15からhetemlにインフラエンジニアのOJT! 
ITインフラのことは何一つ分かってなかった
MySQLとの馴れ初め
MySQLとの馴れ初め
MySQLとの馴れ初め 
規模がよくわかっておらず,ノリノリで応答している
しかし課題は山積み… 
当初はSELECT文すらろくに書けなかった(↓を埋められない) 
SELECT ????????? FROM ???????? 
知識不足経験不足,勉強も並行するとして,まずは現状の把握から…
passport0 
heteml の顧客管理DB 
2005年から投入されてるサーバ 
(hetemlサービスリリース時点で投入されたサーバの1つらしい) 
よぼよぼ
passport0 
# uname -a 
Linux passport0.heteml.jp 2.6.17-1.2142_FC4 #1 Tue Jul 
11 22:41:06 EDT 2006 x86_64 x86_64 x86_64 GNU/Linux 
! 
# cat /etc/redhat-release 
Fedora Core release 4 (Stentz) 
! 
# mysql --version 
mysql Ver 12.22 Distrib 4.0.25, for unknown-linux-gnu 
(x86_64)
passport系DBの構成 
MySQL ! 
4.0.25! 
! 
MASTER 
MySQL! 
5.1.49! 
! 
SLAVE 
MySQL ! 
4.0.25! 
! 
SLAVE
passport系DBの構成 
MySQL ! 
4.0.25! 
! 
MASTER 
masterしか信用出来ない… 
MySQL! 
5.1.49! 
! 
SLAVE 
MySQL ! 
4.0.25! 
! 
SLAVE 
masterに(無い|有る)DBや 
ユーザがいたりしてデータ 
が不安 
masterに(無い|有る)DBやユーザがい 
るし,独自パッチが当たっているし, 
あと一部DBの中身がぶっ壊れたまま 
レプリケーションしてた
ハードウェアがいつ死んでもおかしくない 
ソフトウェアも古く扱いづらい! 
CentOS6, MySQL X.Y.Z ( > 4.0.25) にハード 
ウェアリプレイス&ソフトウェアアップグレー 
ドしたい!!
MySQL 4.0からレプリケーション可能なバージョンは? 
各バージョンのMySQLをビルドして,4.0.25からレプリケー 
ション出来るか各バージョン毎に調べたり 
https://github.com/kamipo/mysql-build (神) 
途中,道を外してただひたすらチェインレプリケーションを行っ 
たりも
MySQL 4.0! 
! 
port 3306 
VagrantのVM (1個)
MySQL 4.0! 
! 
port 3306 
MySQL 4.1! 
! 
3307 
VagrantのVM (1個)
MySQL 4.0! 
! 
port 3306 
MySQL 4.1! 
! 
3307 
VagrantのVM (1個) 
MySQL 5.0! 
! 
3308
MySQL 4.0! 
! 
port 3306 
MySQL 4.1! 
! 
3307 
VagrantのVM (1個) 
MySQL 5.0! 
! 
3308 
MySQL 5.1! 
! 
3309
MySQL 4.0! 
! 
port 3306 
MySQL 4.1! 
! 
3307 
MySQL 5.0! 
! 
3308 
MySQL 5.1! 
! 
3309 
MySQL 5.5! 
! 
3310 
VagrantのVM (1個)
MySQL 4.0! 
! 
port 3306 
MySQL 4.1! 
! 
3307 
MySQL 5.0! 
! 
3308 
MySQL 5.1! 
! 
3309 
MySQL 5.5! 
! 
3310 
MySQL 5.6! 
! 
3311 
VagrantのVM (1個)
途中成果物 
https://speakerdeck.com/hfm/27 
https://github.com/tacahilo/mysql-allstar
MySQL 5.0化へ 
そんなこんなで検証を続け,最終的には 
MySQL 5.0へのアップグレードを計画するこ 
とにした.
MySQL 5.0化へ 
社内でMySQL 4.0 -> 5.0へのアップグレード 
経験があった(ので不安も少なめ) 
CentOS 6用のMySQL 5.0.86 rpmが社内yum 
リポジトリにあった(昔ビルドしたらしい)
passport系DBの構成 
MySQL ! 
4.0.25! 
! 
MASTER 
masterしか信用出来ない… 
MySQL! 
5.1.49! 
! 
SLAVE 
MySQL ! 
4.0.25! 
! 
SLAVE 
masterに無いDBやユーザ 
がいたりしてデータが不安 
masterに無いDBやユーザがいるし, 
独自パッチが当たっているし,あと 
一部DBの中身がぶっ壊れたままレプ 
リケーションしてた 
(再掲)
リプレイス概要 
MySQL ! 
4.0.25
リプレイス概要 
MySQL ! 
4.0.25 
dump
リプレイス概要 
MySQL ! 
4.0.25 
MySQL ! 
5.0.86 
dump
リプレイス概要 
MySQL ! 
4.0.25 
MySQL ! 
5.0.86! 
! 
MASTER 
dump 
MySQL ! 
5.0.86! 
! 
SLAVE
6/20 リプレイス夜間メンテナンス 
MySQL 4.0からのdump,そしてMySQL 5.0 
へのリストアが成功し,無事メンテは成功し 
たかに思えた…
!! INSERT breaks bin-log !! 
レプリケーションを作ろうとして発覚! 
INSERTクエリが実行されたときのみ,bin-log 
が壊れる現象に遭遇
!! INSERT breaks bin-log !! 
use testdb; 
INSERT INTO a_data (id, create_date) VALUES ('1', NOW());
!! INSERT breaks bin-log !! 
ERROR: Error in Log_event::read_log_event(): 'read error', 
data_len: 66899, event_type: 41 
Could not read entry at offset 881:Error in log format or 
read error 
# at 575 
#140620 3:59:32 server id 1 end_log_pos 642 Query 
thread_id=575 exec_time=0 error_code=0 
! 
BEGIN 
/*!*/; 
-- 
use SYSTEMtestdb/*!*/; 
etstdbINSERT INTO a_data (id, create_date) VALUES ('1', 
/*!*/;
!! INSERT breaks bin-log !! 
ERROR: Error in Log_event::read_log_event(): 'read error', 
data_len: 66899, event_type: 41 
Could not read entry at offset 881:Error in log format or 
read error 
# at 575 
#140620 3:59:32 server id 1 end_log_pos 642 Query 
thread_id=575 exec_time=0 error_code=0 
! 
BEGIN 
/*!*/; 
-- 
use SYSTEMtestdb/*!*/; 
etstdbINSERT INTO a_data (id, create_date) VALUES ('1', 
/*!*/; 
1. 途中挟まっている「SYSTEM」という文字列はタイムゾーン 
2. 「use <database>」の間にタイムゾーンの文字が割り込む 
3. INSERT文行頭に「1文字削れたDB名」がくっつき,VALUES以降が消失してしまう 
4. flushすれば再開するが,結局INSERT毎にbin-logが破損してしまう
切り戻し(メンテ失敗)
bin-log問題の調査 
@hiboma先生に助けを求めた
MySQL 5.0系のsourceとGCCバージョンの相性に問題? 
• http://bugs.mysql.com/bug.php?id=48357 
• https://gcc.gnu.org/bugzilla/show_bug.cgi?id=38562
MySQL 5.0系のsourceとGCCバージョンの相性に問題? 
log_event.cc: 
! 
write_str_with_code_and_len((char **)(&start), 
catalog, catalog_len, Q_CATALOG_NZ_CODE); 
! 
! 
(*dst)+= len;
MySQL 5.0系のsourceとGCCバージョンの相性に問題? 
該当箇所では char * を Log_event::Byte* ( = unsigned char) として 
扱っている 
これは strict aliasing に違反するコードになる(難しくてよく分かってない) 
http://d.hatena.ne.jp/yohhoy/20120220/p1 
strict aliasing に違反(あるいは有効にしている場合?)は,異なる型でポインタ 
を操作すると動作が未定義になるらしい 
=> 未定義の結果として、ポインタのサイズが期待通りに計算されなくて binlog 
のポジションがズレて物故割れた
MySQL 5.0系のsourceとGCCバージョンの相性に問題? 
MySQL 5.0にバグがあった? => NO 
GCCにバグがあった? => NO 
GCCの特定バージョン (4.3.3~4.4.0あたり) でMySQL 5.0をビルドしようと 
するとバグってしまうという,組み合わせの問題っぽい 
• -O1でビルドするとmysqlのテストスイートがコケる 
• -O2でビルドするとbinlog周りのテストがコケる 
• -O2 -fno-strict-aliasingならテスト通る
MySQL 5.0系のsourceとGCCバージョンの相性に問題? 
@hiboma先生の調査メモに再現方法つきで更に詳細が載っております 
(僕自身がちゃんと問題を把握しきれてなくてすみません…) 
https://github.com/hiboma/hiboma/blob/master/mysql/bug-48357- 
binlog-corruputed.md
gccが悪かったのか!yum updateと-O2 
-fno-strict-aliasingで解決だ!
やった!これで行ける!! 
と思ったら
新しいGCCでrpmbuildしたら! 
別の場所でコケた
MySQLをrpmbuildする過程 
specファイルを見ると,2回ビルドしていることが分かる 
1. DEBUG=1をつけてビルドする 
• mysql-debugバイナリを生成する 
• 1回目のテストを走らせる 
2. DEBUG=0をつけてビルドする 
• 2回目のテストを走らせる 
• mysqldバイナリを生成する
MySQLをrpmbuildする過程 
specファイルを見ると,2回ビルドしていることが分かる 
1. DEBUG=1をつけてビルドする 
• mysql-debugバイナリを生成する 
• 1回目のテストを走らせる 
2. DEBUG=0をつけてビルドする 
• 2回目のテストを走らせる 
• mysqldバイナリを生成する 
この時点でmysqld-debug.sym 
というファイルが生成される 
何故か途中でmysqld-debug.symが消え 
てビルドがコケる
そのとき出ていたエラー 
RPM build errors: 
File not found: /home/vagrant/rpmbuild/BUILDROOT/MySQL-community- 
5.0.96-1.rhel5.x86_64/usr/sbin/mysqld-debug 
File not found: /home/vagrant/rpmbuild/BUILDROOT/MySQL-community- 
5.0.96-1.rhel5.x86_64/usr/lib64/mysql/mysqld-debug.sym
redhat-rpm-configの罠 
Development Toolsに同梱されているrpmパッケージ 
/usr/lib/rpm/redhatにマクロやヘルパスクリプトを用意してる! 
本当ならきっとイイヤツ
/usr/lib/rpm/redhat/macros 
#=================================================================== 
# ---- Build policy macros. 
# 
# 
#------------------------------------------------------------------- 
# Expanded at beginning of %install scriptlet. 
# 
! 
%__spec_install_pre %{___build_pre} 
[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "${RPM_BUILD_ROOT}" 
mkdir -p `dirname "$RPM_BUILD_ROOT"` 
mkdir "$RPM_BUILD_ROOT" 
%{nil}
/usr/lib/rpm/redhat/macros 
#=================================================================== 
# ---- Build policy macros. 
# 
# 
#------------------------------------------------------------------- 
# Expanded at beginning of %install scriptlet. 
# 
! 
%__spec_install_pre %{___build_pre} 
[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "${RPM_BUILD_ROOT}" 
mkdir -p `dirname "$RPM_BUILD_ROOT"` 
mkdir "$RPM_BUILD_ROOT" 
%{nil} 
%install前にディレクトリ消してる…
yum remove redhat-rpm-macros! 
でビルド通ったーーーーーーーー
こうしてCentOS 6用! 
MySQL 5.0.96 rpmが生まれた
CentOS6 (Vagrantがオススメ) で走らせるとMySQL 5.0.96 rpmが 
出来上がるshellscript 
https://gist.github.com/tacahilo/321657c75722a24204fa
8/22 リベンジメンテ 
MySQL ! 
5.0.96! 
! 
SLAVE 
MySQL ! 
4.0.25! 
! 
MASTER
8/22 リベンジメンテ 
MySQL ! 
5.0.96! 
! 
MASTER 
MySQL ! 
4.0.25! 
!
8/22 リベンジメンテ 
MySQL ! 
4.0.25! 
! 
MySQL ! 
5.0.96! 
! 
SLAVE 
MASTER 
MySQL ! 
5.0.96! 
! 
SLAVE
8/22 リベンジメンテ 
バッチ処理や利用時間帯を考えて,2回目は早朝メンテになった. 
1回目のメンテで取ったdumpのおかげで,具体的な作業はマスタ昇格 
のみ.すぐ終わった. 
メンテ終わりに,朝日に照らされながら飲んだ珈琲が美味しかった☕
before after 
MySQL ! 
5.0.96! 
! 
MASTER 
MySQL! 
5.5.40! 
! 
SLAVE 
MySQL ! 
5.0.96! 
! 
SLAVE 
MySQL ! 
4.0.25! 
! 
MASTER 
MySQL! 
5.1.49! 
! 
SLAVE 
MySQL ! 
4.0.25! 
! 
SLAVE
実は100%成功ではなかったり… 
MySQL 4.0にMovable Typeのデータ (UTF-8) が入っていた. 
手を変え品を変えてデータリカバリに取り組んだが,どうしてもMTの 
DBだけが壊れてしまう… 
一応現在はmiddlemanをベースにリプレイス作業が進行中.
passport0は今 
リプレイスから約一ヶ月後の9/24,サーバから応答が無くなり引退
謝辞 
当時の自分にとっては難易度が高く,何度も挫けそうになりましたが, 
先輩方の支えがあって,ここまで漕ぎ着けることが出来ました. 
やることはまだ残っていますが,ひとまずここで感謝させてください.
ご清聴! 
ありがとうございました

More Related Content

What's hot

【Unite Tokyo 2019】Unityとプロシージャルで作るオープンワールド背景
【Unite Tokyo 2019】Unityとプロシージャルで作るオープンワールド背景【Unite Tokyo 2019】Unityとプロシージャルで作るオープンワールド背景
【Unite Tokyo 2019】Unityとプロシージャルで作るオープンワールド背景UnityTechnologiesJapan002
 
「DNS浸透いうな」と言うけれど… (#ssmjp 2018/07)
「DNS浸透いうな」と言うけれど… (#ssmjp 2018/07)「DNS浸透いうな」と言うけれど… (#ssmjp 2018/07)
「DNS浸透いうな」と言うけれど… (#ssmjp 2018/07)Yoshikazu GOTO
 
脱RESTful API設計の提案
脱RESTful API設計の提案脱RESTful API設計の提案
脱RESTful API設計の提案樽八 仲川
 
アプリ開発検証はLXC+Ansibleで楽ちんにやろう!
アプリ開発検証はLXC+Ansibleで楽ちんにやろう!アプリ開発検証はLXC+Ansibleで楽ちんにやろう!
アプリ開発検証はLXC+Ansibleで楽ちんにやろう!Mutsumi IWAISHI
 
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところY Watanabe
 
West Coast DevCon 2014: Game Programming in UE4 - Game Framework & Sample Pro...
West Coast DevCon 2014: Game Programming in UE4 - Game Framework & Sample Pro...West Coast DevCon 2014: Game Programming in UE4 - Game Framework & Sample Pro...
West Coast DevCon 2014: Game Programming in UE4 - Game Framework & Sample Pro...Gerke Max Preussner
 
コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門Kohei Tokunaga
 
AWS + MLflow + SageMakerの環境を動かしてみたお話
AWS + MLflow + SageMakerの環境を動かしてみたお話AWS + MLflow + SageMakerの環境を動かしてみたお話
AWS + MLflow + SageMakerの環境を動かしてみたお話ItohHiroki
 
ビルドで情報を埋め込んでみた
ビルドで情報を埋め込んでみたビルドで情報を埋め込んでみた
ビルドで情報を埋め込んでみたKazuhide Maruyama
 
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...Preferred Networks
 
SpotBugs(FindBugs)による 大規模ERPのコード品質改善
SpotBugs(FindBugs)による 大規模ERPのコード品質改善SpotBugs(FindBugs)による 大規模ERPのコード品質改善
SpotBugs(FindBugs)による 大規模ERPのコード品質改善Works Applications
 
MVC の Model を考える
MVC の Model を考えるMVC の Model を考える
MVC の Model を考えるtomo_masakura
 
CloudStack再入門!15分でおさらいするCloudStackの基礎
CloudStack再入門!15分でおさらいするCloudStackの基礎CloudStack再入門!15分でおさらいするCloudStackの基礎
CloudStack再入門!15分でおさらいするCloudStackの基礎Satoshi Shimazaki
 
게임프로젝트에 적용하는 GPGPU
게임프로젝트에 적용하는 GPGPU게임프로젝트에 적용하는 GPGPU
게임프로젝트에 적용하는 GPGPUYEONG-CHEON YOU
 
Spring 歴約1年初心者の Test 奮闘記
Spring 歴約1年初心者の Test 奮闘記Spring 歴約1年初心者の Test 奮闘記
Spring 歴約1年初心者の Test 奮闘記chishizu naito
 
pytest × TDD テスト駆動開発のススメ
pytest × TDD テスト駆動開発のススメpytest × TDD テスト駆動開発のススメ
pytest × TDD テスト駆動開発のススメiRidge, Inc.
 

What's hot (20)

【Unite Tokyo 2019】Unityとプロシージャルで作るオープンワールド背景
【Unite Tokyo 2019】Unityとプロシージャルで作るオープンワールド背景【Unite Tokyo 2019】Unityとプロシージャルで作るオープンワールド背景
【Unite Tokyo 2019】Unityとプロシージャルで作るオープンワールド背景
 
「DNS浸透いうな」と言うけれど… (#ssmjp 2018/07)
「DNS浸透いうな」と言うけれど… (#ssmjp 2018/07)「DNS浸透いうな」と言うけれど… (#ssmjp 2018/07)
「DNS浸透いうな」と言うけれど… (#ssmjp 2018/07)
 
WPF MVVM Review
WPF MVVM ReviewWPF MVVM Review
WPF MVVM Review
 
脱RESTful API設計の提案
脱RESTful API設計の提案脱RESTful API設計の提案
脱RESTful API設計の提案
 
Kotlinアンチパターン
KotlinアンチパターンKotlinアンチパターン
Kotlinアンチパターン
 
アプリ開発検証はLXC+Ansibleで楽ちんにやろう!
アプリ開発検証はLXC+Ansibleで楽ちんにやろう!アプリ開発検証はLXC+Ansibleで楽ちんにやろう!
アプリ開発検証はLXC+Ansibleで楽ちんにやろう!
 
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
 
West Coast DevCon 2014: Game Programming in UE4 - Game Framework & Sample Pro...
West Coast DevCon 2014: Game Programming in UE4 - Game Framework & Sample Pro...West Coast DevCon 2014: Game Programming in UE4 - Game Framework & Sample Pro...
West Coast DevCon 2014: Game Programming in UE4 - Game Framework & Sample Pro...
 
コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門
 
AWS + MLflow + SageMakerの環境を動かしてみたお話
AWS + MLflow + SageMakerの環境を動かしてみたお話AWS + MLflow + SageMakerの環境を動かしてみたお話
AWS + MLflow + SageMakerの環境を動かしてみたお話
 
ビルドで情報を埋め込んでみた
ビルドで情報を埋め込んでみたビルドで情報を埋め込んでみた
ビルドで情報を埋め込んでみた
 
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...
 
凝集度と責務
凝集度と責務凝集度と責務
凝集度と責務
 
SpotBugs(FindBugs)による 大規模ERPのコード品質改善
SpotBugs(FindBugs)による 大規模ERPのコード品質改善SpotBugs(FindBugs)による 大規模ERPのコード品質改善
SpotBugs(FindBugs)による 大規模ERPのコード品質改善
 
MVC の Model を考える
MVC の Model を考えるMVC の Model を考える
MVC の Model を考える
 
CloudStack再入門!15分でおさらいするCloudStackの基礎
CloudStack再入門!15分でおさらいするCloudStackの基礎CloudStack再入門!15分でおさらいするCloudStackの基礎
CloudStack再入門!15分でおさらいするCloudStackの基礎
 
게임프로젝트에 적용하는 GPGPU
게임프로젝트에 적용하는 GPGPU게임프로젝트에 적용하는 GPGPU
게임프로젝트에 적용하는 GPGPU
 
Spring 歴約1年初心者の Test 奮闘記
Spring 歴約1年初心者の Test 奮闘記Spring 歴約1年初心者の Test 奮闘記
Spring 歴約1年初心者の Test 奮闘記
 
pytest × TDD テスト駆動開発のススメ
pytest × TDD テスト駆動開発のススメpytest × TDD テスト駆動開発のススメ
pytest × TDD テスト駆動開発のススメ
 
実践 NestJS
実践 NestJS実践 NestJS
実践 NestJS
 

Similar to MySQL 4.0で9年動き続けたサーバを リプレイスしてバージョンアップした話

MySQL clients
MySQL clientsMySQL clients
MySQL clientsyoku0825
 
MySQL Casual Talks in Fukuoka vol.2
MySQL Casual Talks in Fukuoka vol.2MySQL Casual Talks in Fukuoka vol.2
MySQL Casual Talks in Fukuoka vol.2学 松崎
 
OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門VirtualTech Japan Inc.
 
OSC2017 Hokkaido. MySQL今こそインストールを極めよう~改めて考える環境構築~
OSC2017 Hokkaido. MySQL今こそインストールを極めよう~改めて考える環境構築~OSC2017 Hokkaido. MySQL今こそインストールを極めよう~改めて考える環境構築~
OSC2017 Hokkaido. MySQL今こそインストールを極めよう~改めて考える環境構築~sakaik
 
MySQL 5.7 InnoDB 日本語全文検索
MySQL 5.7 InnoDB 日本語全文検索MySQL 5.7 InnoDB 日本語全文検索
MySQL 5.7 InnoDB 日本語全文検索yoyamasaki
 
20140612_Docker上でCloudStackを動かしてみる!!
20140612_Docker上でCloudStackを動かしてみる!!20140612_Docker上でCloudStackを動かしてみる!!
20140612_Docker上でCloudStackを動かしてみる!!Midori Oge
 
5分で作るMySQL Cluster環境
5分で作るMySQL Cluster環境5分で作るMySQL Cluster環境
5分で作るMySQL Cluster環境yoyamasaki
 
5分で作るMySQL Cluster環境
5分で作るMySQL Cluster環境5分で作るMySQL Cluster環境
5分で作るMySQL Cluster環境yoyamasaki
 
わたしを支える技術
わたしを支える技術わたしを支える技術
わたしを支える技術yoku0825
 
MySQLトラブル解析入門
MySQLトラブル解析入門MySQLトラブル解析入門
MySQLトラブル解析入門Mikiya Okuno
 
自宅ラック勉強会 2.2 夏のZabbix特別教室 ~構築編~
自宅ラック勉強会 2.2 夏のZabbix特別教室 ~構築編~自宅ラック勉強会 2.2 夏のZabbix特別教室 ~構築編~
自宅ラック勉強会 2.2 夏のZabbix特別教室 ~構築編~真乙 九龍
 
My sql casual_in_fukuoka_vol1
My sql casual_in_fukuoka_vol1My sql casual_in_fukuoka_vol1
My sql casual_in_fukuoka_vol1Makoto Haruyama
 
MySQL 5.5 Update #denatech
MySQL 5.5 Update #denatechMySQL 5.5 Update #denatech
MySQL 5.5 Update #denatechMikiya Okuno
 
使ってみた!ioMemoryで実現する噂のAtomic write!
使ってみた!ioMemoryで実現する噂のAtomic write!使ってみた!ioMemoryで実現する噂のAtomic write!
使ってみた!ioMemoryで実現する噂のAtomic write!IIJ
 
MySQL 5.7の次のMySQLは
MySQL 5.7の次のMySQLはMySQL 5.7の次のMySQLは
MySQL 5.7の次のMySQLはyoku0825
 
Aspnet mvc 6の今を紹介
Aspnet mvc 6の今を紹介Aspnet mvc 6の今を紹介
Aspnet mvc 6の今を紹介Makoto Nishimura
 
ザ・ドキュメント~うまくいかないNoSQL~
ザ・ドキュメント~うまくいかないNoSQL~ザ・ドキュメント~うまくいかないNoSQL~
ザ・ドキュメント~うまくいかないNoSQL~Akihiro Kuwano
 
ioMemoryとAtomic Writeによるデータベース高速化
ioMemoryとAtomic Writeによるデータベース高速化ioMemoryとAtomic Writeによるデータベース高速化
ioMemoryとAtomic Writeによるデータベース高速化IIJ
 

Similar to MySQL 4.0で9年動き続けたサーバを リプレイスしてバージョンアップした話 (20)

MySQL clients
MySQL clientsMySQL clients
MySQL clients
 
MySQL Casual Talks in Fukuoka vol.2
MySQL Casual Talks in Fukuoka vol.2MySQL Casual Talks in Fukuoka vol.2
MySQL Casual Talks in Fukuoka vol.2
 
OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門
 
OSC2017 Hokkaido. MySQL今こそインストールを極めよう~改めて考える環境構築~
OSC2017 Hokkaido. MySQL今こそインストールを極めよう~改めて考える環境構築~OSC2017 Hokkaido. MySQL今こそインストールを極めよう~改めて考える環境構築~
OSC2017 Hokkaido. MySQL今こそインストールを極めよう~改めて考える環境構築~
 
MySQL 5.7 InnoDB 日本語全文検索
MySQL 5.7 InnoDB 日本語全文検索MySQL 5.7 InnoDB 日本語全文検索
MySQL 5.7 InnoDB 日本語全文検索
 
20140612_Docker上でCloudStackを動かしてみる!!
20140612_Docker上でCloudStackを動かしてみる!!20140612_Docker上でCloudStackを動かしてみる!!
20140612_Docker上でCloudStackを動かしてみる!!
 
5分で作るMySQL Cluster環境
5分で作るMySQL Cluster環境5分で作るMySQL Cluster環境
5分で作るMySQL Cluster環境
 
5分で作るMySQL Cluster環境
5分で作るMySQL Cluster環境5分で作るMySQL Cluster環境
5分で作るMySQL Cluster環境
 
WindowsでMySQL入門
WindowsでMySQL入門WindowsでMySQL入門
WindowsでMySQL入門
 
わたしを支える技術
わたしを支える技術わたしを支える技術
わたしを支える技術
 
MySQLトラブル解析入門
MySQLトラブル解析入門MySQLトラブル解析入門
MySQLトラブル解析入門
 
Nseg49 mysql
Nseg49 mysqlNseg49 mysql
Nseg49 mysql
 
自宅ラック勉強会 2.2 夏のZabbix特別教室 ~構築編~
自宅ラック勉強会 2.2 夏のZabbix特別教室 ~構築編~自宅ラック勉強会 2.2 夏のZabbix特別教室 ~構築編~
自宅ラック勉強会 2.2 夏のZabbix特別教室 ~構築編~
 
My sql casual_in_fukuoka_vol1
My sql casual_in_fukuoka_vol1My sql casual_in_fukuoka_vol1
My sql casual_in_fukuoka_vol1
 
MySQL 5.5 Update #denatech
MySQL 5.5 Update #denatechMySQL 5.5 Update #denatech
MySQL 5.5 Update #denatech
 
使ってみた!ioMemoryで実現する噂のAtomic write!
使ってみた!ioMemoryで実現する噂のAtomic write!使ってみた!ioMemoryで実現する噂のAtomic write!
使ってみた!ioMemoryで実現する噂のAtomic write!
 
MySQL 5.7の次のMySQLは
MySQL 5.7の次のMySQLはMySQL 5.7の次のMySQLは
MySQL 5.7の次のMySQLは
 
Aspnet mvc 6の今を紹介
Aspnet mvc 6の今を紹介Aspnet mvc 6の今を紹介
Aspnet mvc 6の今を紹介
 
ザ・ドキュメント~うまくいかないNoSQL~
ザ・ドキュメント~うまくいかないNoSQL~ザ・ドキュメント~うまくいかないNoSQL~
ザ・ドキュメント~うまくいかないNoSQL~
 
ioMemoryとAtomic Writeによるデータベース高速化
ioMemoryとAtomic Writeによるデータベース高速化ioMemoryとAtomic Writeによるデータベース高速化
ioMemoryとAtomic Writeによるデータベース高速化
 

More from Takahiro Okumura

師弟登壇2015 GMOペパボ @hfm
師弟登壇2015 GMOペパボ @hfm師弟登壇2015 GMOペパボ @hfm
師弟登壇2015 GMOペパボ @hfmTakahiro Okumura
 
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクションTakahiro Okumura
 
2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクションTakahiro Okumura
 
THE TAO OF PEPABO ENGINEER
THE TAO OF PEPABO ENGINEERTHE TAO OF PEPABO ENGINEER
THE TAO OF PEPABO ENGINEERTakahiro Okumura
 
若手インフラエンジニア現状確認会 @hfm #wakateinfra
若手インフラエンジニア現状確認会 @hfm #wakateinfra若手インフラエンジニア現状確認会 @hfm #wakateinfra
若手インフラエンジニア現状確認会 @hfm #wakateinfraTakahiro Okumura
 
30days Albumの裏側〜監視・インフラCI事情〜 #monitoringcasual
30days Albumの裏側〜監視・インフラCI事情〜 #monitoringcasual30days Albumの裏側〜監視・インフラCI事情〜 #monitoringcasual
30days Albumの裏側〜監視・インフラCI事情〜 #monitoringcasualTakahiro Okumura
 

More from Takahiro Okumura (6)

師弟登壇2015 GMOペパボ @hfm
師弟登壇2015 GMOペパボ @hfm師弟登壇2015 GMOペパボ @hfm
師弟登壇2015 GMOペパボ @hfm
 
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション
 
2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション
 
THE TAO OF PEPABO ENGINEER
THE TAO OF PEPABO ENGINEERTHE TAO OF PEPABO ENGINEER
THE TAO OF PEPABO ENGINEER
 
若手インフラエンジニア現状確認会 @hfm #wakateinfra
若手インフラエンジニア現状確認会 @hfm #wakateinfra若手インフラエンジニア現状確認会 @hfm #wakateinfra
若手インフラエンジニア現状確認会 @hfm #wakateinfra
 
30days Albumの裏側〜監視・インフラCI事情〜 #monitoringcasual
30days Albumの裏側〜監視・インフラCI事情〜 #monitoringcasual30days Albumの裏側〜監視・インフラCI事情〜 #monitoringcasual
30days Albumの裏側〜監視・インフラCI事情〜 #monitoringcasual
 

MySQL 4.0で9年動き続けたサーバを リプレイスしてバージョンアップした話