SlideShare a Scribd company logo
5.7の次のMySQL
6.0が⿊歴史同⼠、仲良くしましょう
2016/11/03
yoku0825
phpcon 2016
\こんにちは/
yoku0825@GMOメディア株式会社
オラクれない-
ポスグれない-
マイエスキューエる-
家に帰ると
妻の夫-
せがれの⽗-
ムスメの⽗-
⽣息域
Twitter: @yoku0825-
Blog: ⽇々の覚書-
MyNA ML: ⽇本MySQLユーザ会-
MySQL Casualʼs Slack: MySQL Casual-
1/23
Do you love MySQL 5.7?
2/23
MySQL 5.7のあれこれ
2015/10 GAリリース
GA時点でいくつかの罠は解消されている-
GA(General Availability .. Stable的な位置づけ)になってか
らも新機能を追加してくる新しいスタイル
バックポートならまだ以前もあったしわかるんだけど-
メインラインにごりごり突っ込んでくるのは新しいスタイル-
GAとは何だったのか-
default̲password̲lifetimeの罠は 2016/02 5.7.11で解消
3/23
なんだかんだ⾔ってフツーに動いてます
運⽤⾯では割と楽なので(感じ⽅には個⼈差があります)積
極的に使ってはいます
5.7の新機能 offline̲mode を利⽤してコネクションプール
環境でもマスター切り替えができる mikasafabric for
MySQL
GTIDをオンラインでONにできるのも助かる-
InnoDBのオンラインバッファプールサイズ変更は何度かや
った
generated columnで関数インデックスやら疑似CHECK制約
やら
暗黙のテンポラリーテーブルは怖いのでMyISAMに指定
4/23
で
5/23
その5.7の次
のMySQL
6/23
 
7/23
_⼈⼈⼈_
> 8.0 <
 ̄Y^Y^ ̄
8/23
というと「6.0
は︖」って聞か
れるんですけど
9/23
お互い6.0のことは忘れましょうや
Ver. PHP MySQL
5.0 2004/10-2005/09 2005/10-2012/03
5.1 2005/11-2006/08 2008/11-2013-12
5.2 2006/11-2011/01 -
5.3 2009/06-2014/08 -
6.0 ??-2010/03 2007/09(?
6.0.2)-2009/05
5.4 2012/03-2015/09 -
5.5 2013/06-2016/07 2010/12-
5.6 2014/08- 2013/02-
5.7 - 2015/10-
7.0 2015/12- -
8.0 - 開発中
10/23
7.0は︖
11/23
意外とフツーの理由でスキップ
12/23
MySQL 8.0の目⽟機能(︖)
MyISAMへの依存をなくす
MySQL 8.0.0現在、mysqlスキーマのテーブルは全てInnoDBに変更-
トランザクション対応(︖ クラッシュセーフで終わるか
も)DDL
.frmや.TRGファイルがなくなった-
オプティマイザーコストの最適化
最終的にはバッファプールに載ってるかどうかでコストを打ち分けて
くれるとか
-
Group Replicationの標準バンドル
マルチマスターを構成できるプラグイン-
MySQL InnoDB Clusterがlabsで公開中-
13/23
その他の新機能
ROLE, DEFAULT̲ROLEの追加
SET PERSIST構⽂
mysql̲install̲dbの廃⽌
performance̲schema.variables̲infoが便利
再帰CTE(WITH句)のサポート
降順インデックス(INDEX (col1 DESC) が 読み⾶ばされずに
作成できる)
14/23
そして
15/23
その他の新
(︖)罠
16/23
default_password_lifetime <> 0
5.7.11で暗黙のデフォルトが0に変更されたが
“次のメジャーバージョンでまた0以外にする” って⾔ってる
から、8.0では来るのではないかと
An update on default̲password̲lifetime-
MySQL Bugs: #79939: default̲password̲lifetime > 0 should
print warning at startup
-
MySQL Bugs: #79959: SYS should have a view of user
accounts expiring
-
17/23
「kamipoのハハ=パパ問題」
“kamipo” “utf8̲unicode̲ci” でググると出てくる
⼀時期 Rails では “ハハ” = “パパ” をTRUEで返す照合順序
がデフォルトになっていた
WHERE relationship = "ハハ" がパパのレコードも返してくる凄まじ
い照合順序
-
もともと⽇本⼈⽤ではなくて、ドイツ語のウムラオトとかを握りつぶ
すためのもの
-
名前のフリガナをDBに⼊れてると死ぬ-
⼊れてなくても死ぬ-
18/23
「kamipoのハハ=パパ問題」
SELECT * FROM families;
+----+-----------+--------------+
| id | name | relationship |
+----+-----------+--------------+
| 1 | ユイ | 本人 |
| 2 | キリト | パパ |
| 3 | アスナ | ハハ |
+----+-----------+--------------+
SELECT * FROM families WHERE relationship = 'パパ';
+----+-----------+--------------+
| id | name | relationship |
+----+-----------+--------------+
| 2 | キリト | パパ |
| 3 | アスナ | ハハ |
+----+-----------+--------------+
(c) kamipo
19/23
今までのデフォルト
⽂字コード latin1, 照合順序 latin1̲swedish̲ci
⼤⽂字⼩⽂字(a vs. A)は区別しないけど、ASCII以外の⽂字はノータ
ッチ
-
というかlatin1な時点でみんな変更するからそれ程問題になることは
なかった
-
⽂字コード utf8(utf8mb4), 照合順序 utf8̲general̲ci
(utf8mb4̲general̲ci)
⼤⽂字⼩⽂字(a vs. A)は区別しないけど、ASCII以外の⽂字はほぼノ
ータッチ
ただし寿司はビール
-
いわゆる「MySQLは⼤⽂字⼩⽂字を区別しない」と「ハハ ≠ パパ」
が両⽴していた
-
20/23
MySQL本体のデフォルトがハハ=パパ問題を起こす⽇が
来る︖
In addition to utf8mb4, we are also considering
switching the default collation to be
utf8mb4̲unicode̲520̲ci.
Planning the defaults for MySQL 5.8
MySQL Bugs: #79977: utf8mb4̲unicode̲520̲ci donʼt
make sense for Japanese FTS
21/23
MySQL先⽣の次
回作にご期待くだ
さい
Stay tuned!!
22/23
Thank
you!!
23/23

More Related Content

PDF
MySQL 5.7の罠があなたを狙っている
PDF
MySQLおじさんの逆襲
PDF
mikasafabric for MySQL
PDF
MySQL Fabricでぼっこぼこにされたはなし
PDF
逝くぞ最新版、罠の貯蔵は十分か
PDF
MySQL5.7とMariaDB10.1の性能比較(簡易)
PDF
とあるイルカの近況報告
PDF
MySQLアンチパターン
MySQL 5.7の罠があなたを狙っている
MySQLおじさんの逆襲
mikasafabric for MySQL
MySQL Fabricでぼっこぼこにされたはなし
逝くぞ最新版、罠の貯蔵は十分か
MySQL5.7とMariaDB10.1の性能比較(簡易)
とあるイルカの近況報告
MySQLアンチパターン

What's hot (20)

PDF
dbts2013:MariaDB Galera Cluster 活用例
PPTX
POWER8サーバでMariaDBベンチマーク
PDF
MySQL 5.7の次のMySQLは
PDF
MySQL Clusterのトラブル事例
PDF
MySQL 4.0で9年動き続けたサーバを リプレイスしてバージョンアップした話
PDF
ゆるふわMySQLフェイルオーバー
PDF
Dockerイメージで誰でも気軽にMroonga体験
PDF
MySQL 5.7の次のMySQL 8.0はどんなものになるだろう
PDF
MHAの次を目指す mikasafabric for MySQL
PDF
What's New in MySQL 5.7 Security
PPTX
mysqlcasual6-fabric
PPTX
dimSTATから見るベンチマーク
PDF
カジュアルにMySQL Clusterを使ってみよう@MySQL Cluster Casual Talks 2013.09
PDF
MySQLと正規形のはなし
PPTX
MySQL Clusterを運用して10ヶ月間
PDF
MySQLレプリケーションあれやこれや
PDF
サーバーが完膚なきまでに死んでもMySQLのデータを失わないための表技
PPTX
MySQL5.6と5.7性能比較
PDF
What's New in MySQL 5.7 InnoDB
PPTX
最近始めたあなたも今日から語れるようになるMySQLの{概要と最新情報}入門@
dbts2013:MariaDB Galera Cluster 活用例
POWER8サーバでMariaDBベンチマーク
MySQL 5.7の次のMySQLは
MySQL Clusterのトラブル事例
MySQL 4.0で9年動き続けたサーバを リプレイスしてバージョンアップした話
ゆるふわMySQLフェイルオーバー
Dockerイメージで誰でも気軽にMroonga体験
MySQL 5.7の次のMySQL 8.0はどんなものになるだろう
MHAの次を目指す mikasafabric for MySQL
What's New in MySQL 5.7 Security
mysqlcasual6-fabric
dimSTATから見るベンチマーク
カジュアルにMySQL Clusterを使ってみよう@MySQL Cluster Casual Talks 2013.09
MySQLと正規形のはなし
MySQL Clusterを運用して10ヶ月間
MySQLレプリケーションあれやこれや
サーバーが完膚なきまでに死んでもMySQLのデータを失わないための表技
MySQL5.6と5.7性能比較
What's New in MySQL 5.7 InnoDB
最近始めたあなたも今日から語れるようになるMySQLの{概要と最新情報}入門@
Ad

Viewers also liked (17)

PDF
MySQLerの7つ道具
PDF
MySQLerの7つ道具 plus
PDF
地雷職人の朝は早い
PDF
ペパボ de MySQL
PDF
紹介 of Anemometer
PDF
今から備えるMySQL最新バージョン5.7
PDF
PHPの今とこれから2016
PDF
雑なMySQLパフォーマンスチューニング
PDF
MySQL 5.7にやられないためにおぼえておいてほしいこと
PDF
実録 Oracle ace詐欺 2nd season
PPTX
Ltの作成と実践~入門編~
PDF
Heroku-ja Meetup #1 - Salesforce.com
PDF
Summer '12のワイルドな新機能+
PDF
Webエンジニアがラクして企業向けモバイルアプリを作る方法 ~Salesforce1モバイルコンテナを使った開発手法~
PDF
TokuDB試してみる
PDF
The New Normal: Dealing with the Reality of an Unsecure World
PDF
LT @YAPC::Asia 2012 LTThon
MySQLerの7つ道具
MySQLerの7つ道具 plus
地雷職人の朝は早い
ペパボ de MySQL
紹介 of Anemometer
今から備えるMySQL最新バージョン5.7
PHPの今とこれから2016
雑なMySQLパフォーマンスチューニング
MySQL 5.7にやられないためにおぼえておいてほしいこと
実録 Oracle ace詐欺 2nd season
Ltの作成と実践~入門編~
Heroku-ja Meetup #1 - Salesforce.com
Summer '12のワイルドな新機能+
Webエンジニアがラクして企業向けモバイルアプリを作る方法 ~Salesforce1モバイルコンテナを使った開発手法~
TokuDB試してみる
The New Normal: Dealing with the Reality of an Unsecure World
LT @YAPC::Asia 2012 LTThon
Ad

More from yoku0825 (10)

PDF
MySQL 8.0で憶えておいてほしいこと
PDF
片手間MySQLチューニング戦略
PDF
MySQLを割と一人で300台管理する技術
PDF
MySQLステータスモニタリング
PDF
わかった気になるMySQL
PDF
わたしを支える技術
PDF
イルカさんチームからゾウさんチームに教えたいMySQLレプリケーション
PDF
MySQL 5.7が魅せる新しい運用の形
PDF
MySQL5.7で遊んでみよう
PDF
光のMySQL 5.7
MySQL 8.0で憶えておいてほしいこと
片手間MySQLチューニング戦略
MySQLを割と一人で300台管理する技術
MySQLステータスモニタリング
わかった気になるMySQL
わたしを支える技術
イルカさんチームからゾウさんチームに教えたいMySQLレプリケーション
MySQL 5.7が魅せる新しい運用の形
MySQL5.7で遊んでみよう
光のMySQL 5.7

5.7の次のMySQL