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

はじめての datadog
はじめての datadogはじめての datadog
はじめての datadogNaoya Nakazawa
 
Debianの修正はどのように出荷されるか
Debianの修正はどのように出荷されるかDebianの修正はどのように出荷されるか
Debianの修正はどのように出荷されるかHideki Yamane
 
Java EE から Quarkus による開発への移行について
Java EE から Quarkus による開発への移行についてJava EE から Quarkus による開発への移行について
Java EE から Quarkus による開発への移行についてShigeru Tatsuta
 
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~infinite_loop
 
Amazon Aurora Deep Dive (re:Invent 2015 DAT405 日本語翻訳版)
Amazon Aurora Deep Dive (re:Invent 2015 DAT405 日本語翻訳版)Amazon Aurora Deep Dive (re:Invent 2015 DAT405 日本語翻訳版)
Amazon Aurora Deep Dive (re:Invent 2015 DAT405 日本語翻訳版)Amazon Web Services Japan
 
RDB開発者のためのApache Cassandra データモデリング入門
RDB開発者のためのApache Cassandra データモデリング入門RDB開発者のためのApache Cassandra データモデリング入門
RDB開発者のためのApache Cassandra データモデリング入門Yuki Morishita
 
Oracle Coherence勉強会
Oracle Coherence勉強会Oracle Coherence勉強会
Oracle Coherence勉強会Toshiaki Maki
 
カジュアルにMongo dbのbackup機能説明
カジュアルにMongo dbのbackup機能説明カジュアルにMongo dbのbackup機能説明
カジュアルにMongo dbのbackup機能説明Masakazu Matsushita
 
SpotBugs(FindBugs)による 大規模ERPのコード品質改善
SpotBugs(FindBugs)による 大規模ERPのコード品質改善SpotBugs(FindBugs)による 大規模ERPのコード品質改善
SpotBugs(FindBugs)による 大規模ERPのコード品質改善Works Applications
 
SparkやBigQueryなどを用いた モバイルゲーム分析環境
SparkやBigQueryなどを用いたモバイルゲーム分析環境SparkやBigQueryなどを用いたモバイルゲーム分析環境
SparkやBigQueryなどを用いた モバイルゲーム分析環境yuichi_komatsu
 
ブレソルでテラバイト級データのALTERを短時間で終わらせる
ブレソルでテラバイト級データのALTERを短時間で終わらせるブレソルでテラバイト級データのALTERを短時間で終わらせる
ブレソルでテラバイト級データのALTERを短時間で終わらせるKLab Inc. / Tech
 
ポスト・ラムダアーキテクチャの切り札? Apache Hudi(NTTデータ テクノロジーカンファレンス 2020 発表資料)
ポスト・ラムダアーキテクチャの切り札? Apache Hudi(NTTデータ テクノロジーカンファレンス 2020 発表資料)ポスト・ラムダアーキテクチャの切り札? Apache Hudi(NTTデータ テクノロジーカンファレンス 2020 発表資料)
ポスト・ラムダアーキテクチャの切り札? Apache Hudi(NTTデータ テクノロジーカンファレンス 2020 発表資料)NTT DATA Technology & Innovation
 
Javaトラブルに備えよう #jjug_ccc #ccc_h2
Javaトラブルに備えよう #jjug_ccc #ccc_h2Javaトラブルに備えよう #jjug_ccc #ccc_h2
Javaトラブルに備えよう #jjug_ccc #ccc_h2Norito Agetsuma
 
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)Hiro H.
 
マルチテナントのアプリケーション実装〜実践編〜
マルチテナントのアプリケーション実装〜実践編〜マルチテナントのアプリケーション実装〜実践編〜
マルチテナントのアプリケーション実装〜実践編〜Yoshiki Nakagawa
 
Addressables で大量のリソース管理・困りどころと解消法
Addressables で大量のリソース管理・困りどころと解消法Addressables で大量のリソース管理・困りどころと解消法
Addressables で大量のリソース管理・困りどころと解消法Kenta Nagai
 
Gaming on aws 〜ゲームにおけるAWS最新活用術〜
Gaming on aws 〜ゲームにおけるAWS最新活用術〜Gaming on aws 〜ゲームにおけるAWS最新活用術〜
Gaming on aws 〜ゲームにおけるAWS最新活用術〜Amazon Web Services Japan
 

What's hot (20)

Vault の鍵管理機構
Vault の鍵管理機構Vault の鍵管理機構
Vault の鍵管理機構
 
はじめての datadog
はじめての datadogはじめての datadog
はじめての datadog
 
Debianの修正はどのように出荷されるか
Debianの修正はどのように出荷されるかDebianの修正はどのように出荷されるか
Debianの修正はどのように出荷されるか
 
Java EE から Quarkus による開発への移行について
Java EE から Quarkus による開発への移行についてJava EE から Quarkus による開発への移行について
Java EE から Quarkus による開発への移行について
 
MongoDBの監視
MongoDBの監視MongoDBの監視
MongoDBの監視
 
MapReduce/YARNの仕組みを知る
MapReduce/YARNの仕組みを知るMapReduce/YARNの仕組みを知る
MapReduce/YARNの仕組みを知る
 
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
 
Amazon Aurora Deep Dive (re:Invent 2015 DAT405 日本語翻訳版)
Amazon Aurora Deep Dive (re:Invent 2015 DAT405 日本語翻訳版)Amazon Aurora Deep Dive (re:Invent 2015 DAT405 日本語翻訳版)
Amazon Aurora Deep Dive (re:Invent 2015 DAT405 日本語翻訳版)
 
RDB開発者のためのApache Cassandra データモデリング入門
RDB開発者のためのApache Cassandra データモデリング入門RDB開発者のためのApache Cassandra データモデリング入門
RDB開発者のためのApache Cassandra データモデリング入門
 
Oracle Coherence勉強会
Oracle Coherence勉強会Oracle Coherence勉強会
Oracle Coherence勉強会
 
カジュアルにMongo dbのbackup機能説明
カジュアルにMongo dbのbackup機能説明カジュアルにMongo dbのbackup機能説明
カジュアルにMongo dbのbackup機能説明
 
SpotBugs(FindBugs)による 大規模ERPのコード品質改善
SpotBugs(FindBugs)による 大規模ERPのコード品質改善SpotBugs(FindBugs)による 大規模ERPのコード品質改善
SpotBugs(FindBugs)による 大規模ERPのコード品質改善
 
SparkやBigQueryなどを用いた モバイルゲーム分析環境
SparkやBigQueryなどを用いたモバイルゲーム分析環境SparkやBigQueryなどを用いたモバイルゲーム分析環境
SparkやBigQueryなどを用いた モバイルゲーム分析環境
 
ブレソルでテラバイト級データのALTERを短時間で終わらせる
ブレソルでテラバイト級データのALTERを短時間で終わらせるブレソルでテラバイト級データのALTERを短時間で終わらせる
ブレソルでテラバイト級データのALTERを短時間で終わらせる
 
ポスト・ラムダアーキテクチャの切り札? Apache Hudi(NTTデータ テクノロジーカンファレンス 2020 発表資料)
ポスト・ラムダアーキテクチャの切り札? Apache Hudi(NTTデータ テクノロジーカンファレンス 2020 発表資料)ポスト・ラムダアーキテクチャの切り札? Apache Hudi(NTTデータ テクノロジーカンファレンス 2020 発表資料)
ポスト・ラムダアーキテクチャの切り札? Apache Hudi(NTTデータ テクノロジーカンファレンス 2020 発表資料)
 
Javaトラブルに備えよう #jjug_ccc #ccc_h2
Javaトラブルに備えよう #jjug_ccc #ccc_h2Javaトラブルに備えよう #jjug_ccc #ccc_h2
Javaトラブルに備えよう #jjug_ccc #ccc_h2
 
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)
 
マルチテナントのアプリケーション実装〜実践編〜
マルチテナントのアプリケーション実装〜実践編〜マルチテナントのアプリケーション実装〜実践編〜
マルチテナントのアプリケーション実装〜実践編〜
 
Addressables で大量のリソース管理・困りどころと解消法
Addressables で大量のリソース管理・困りどころと解消法Addressables で大量のリソース管理・困りどころと解消法
Addressables で大量のリソース管理・困りどころと解消法
 
Gaming on aws 〜ゲームにおけるAWS最新活用術〜
Gaming on aws 〜ゲームにおけるAWS最新活用術〜Gaming on aws 〜ゲームにおけるAWS最新活用術〜
Gaming on aws 〜ゲームにおけるAWS最新活用術〜
 

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年動き続けたサーバを リプレイスしてバージョンアップした話