SlideShare ist ein Scribd-Unternehmen logo
1 von 24
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

dbts2013:MariaDB Galera Cluster 活用例
dbts2013:MariaDB Galera Cluster 活用例dbts2013:MariaDB Galera Cluster 活用例
dbts2013:MariaDB Galera Cluster 活用例
Jun Shimizu
 

Was ist angesagt? (20)

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

Andere mochten auch

実録 Oracle ace詐欺 2nd season
実録 Oracle ace詐欺 2nd season実録 Oracle ace詐欺 2nd season
実録 Oracle ace詐欺 2nd season
yoku0825
 
Ltの作成と実践~入門編~
Ltの作成と実践~入門編~Ltの作成と実践~入門編~
Ltの作成と実践~入門編~
Daiji Okuno
 
LT @YAPC::Asia 2012 LTThon
LT @YAPC::Asia 2012 LTThonLT @YAPC::Asia 2012 LTThon
LT @YAPC::Asia 2012 LTThon
maka2donzoko
 

Andere mochten auch (17)

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

Mehr von yoku0825 (10)

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

Kürzlich hochgeladen

Kürzlich hochgeladen (12)

Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 

5.7の次のMySQL