Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
最近始めたあなたも
今日から語れるようになる
MySQLの
{概要と最新情報}入門
2016/02/27
日本MySQLユーザ会(MyNA)
坂井 恵 (@sakaik)
第13回 中国地方DB勉強会 in 山口
免責事項
いろいろ関係ありません。
本日のメニュー
• MySQL 5.7 最新情報
– ざっくりとわかるMySQL 5.7
– MySQLの情報源
– 日本MySQLユーザ会
• MySQL 5.7 に到る道
– バージョン番号
– 機能
– 開発主体
自己紹介
• @sakaik
• 千葉県から来ました
そーだいさんが、「東京から」っ
て紹介するから、ちがいますちが
います、千葉です、と。
• 東京ディズニーランド!
• 旧・新東京国際空港!
• 東京ドイツ村
• 東京モーターショー
千葉県と言えば・・・・
そーだいさんが、「東京から」っ
て言うから、ちがいますちがいま
す、千葉です、と強調しておかな
いとと思い、千葉を代表するも...
自己紹介
• @sakaik
• 千葉県から来ました
• MySQLでごはん食べてません
• MySQLは趣味です
自己紹介
• @sakaik
• 千葉県から来ました
• MySQLでごはん食べてません
• MySQLは趣味です
• アドベントカレンダー
• MySQLマニュアルを読む Advent Calendar 2015
– http://qiita.com/advent-
calendar/2015/mysql_manual
アドベントカレンダー2015:私もひとつ
やらなきゃよかった。...
山口に着いてから、
下を向いて歩きました。
SLは分かるけど、
水馬(あめんぼう)は何故?
アウトプットとか
セルコ「プログラマのためのSQL」
4版
「英訳したい(正確性の高まった)日本版」と日記で紹介していたら、英語の第五版が出
てしまいました(笑)。誤り部分が修正されたかは確認していませんが、全体の構成が
スッキリと洗練されています。
本題に入ります
MySQL 5.7 最新情報
MySQL 5.7 最新情報
• MySQL 5.7 が出ました!
• 2015/10 MySQL 5.7.10 にて GA
• 2016/02 現在、MySQL 5.7.11 が最新
MySQL 5.7 の特徴
要するに・・・・
• 速くなった
• 安全になった
• いくつかの機能が増えた
• サブクエリとか
• 内部処理で一時テーブルを使っていた処理と
か
– UNION ALL, サブクエリ
• 同時実行(多コネクション)とか
• オプティマイザの改良
– http://nippondanji.blogspot.jp/2015...
主な新機能
• JSON対応(データ型/関数等)
• GIS機能の整理・拡充 (spatial型)
• レプリケーションの進化
– マルチソースレプリケーション
– パラレルレプリケーション
• 内部情報を見る仕組みの充実
– Performa...
参考:GENERATED COLUMN
日本語で「生成列」とも。
mysql> CREATE TABLE gentest (a int, b int, c int GENERATED ALWAYS AS (a+b));
mysql> INSER...
MySQL 5.7 の情報
• 150を超える新機能、改善等
– https://yakst.com/ja/posts/3037
• その他 講演発表資料、ブログなど
• 接続パスワードの有効期限
• SQLモードのデフォルト値の変更
MySQL 5.7:ハマりそうなところ
• DEFAULT_PASSWARD_LIFETIME = 360
↓
• 360日後に接続不可に!
接続パスワードの有効期限
MySQL 5.7.11 (2016.02 リリース)で
DEFAULT_PASSWARD_LIFETIME = 0...
「新しいMySQLは、360日後に接続で
きなくなる時限爆弾があるよ」
と言っている人には、
「それ、MySQL 5.7.11 で ゼロに
なったよ」
と教えてあげよう。
接続パスワードの有効期限
・いったん 5.7.10等をインストールしたも...
• SQL_MODE: ONLY_FULL_GROUP_BY
がデフォルトでオンになった
↓
• 雑なクエリが書けなくなって歓迎!
(きっとどこかで悲鳴が)
SQLモードのデフォルト値
例:
×
SELECT f_id, name, count(*) FROM tbl1
GROUP BY f_id;
○
SELECT f_id, name, count(*) FROM tbl1
GROUP BY f_id, name;
SQL...
その他MySQL5.7の情報は
自分が関心のある部分について、
自分で情報収集しよう
MySQLの情報源
• MySQLマニュアル
• オラクル公式情報
• Twitter #mysql_jp
• イベント参加・開催・公開資料等
• ユーザ会メーリングリスト
ここまで
• MySQL 5.7 の最新情報とかのお話
ここからは
MySQL 5.7 に到る道
のお話をします。
最近始めたあなたも、これで、MySQLを昔
から知っていたような顔ができます
MySQLの開発主体
• 1995年 TcXが初バージョン公開
• 2000年 6月MySQL AB 設立
• 2005年 OracleがInnoBase Oy を買収
– 2006年 MySQL KK 設立
• 2008年 Sun Micro...
MySQL
InnoBase
Oracle
Sun
Microsystems
2005 2008 2010
× ×
×
参考: Oracleの「10の約束」
もう5年以上経ったけれども、素晴ら
しい開発を続けてくれています
• MySQL 3.23 (2001)みんなが使い始めた
• MySQL 4.0 (2003)使いやすくなってきた
• MySQL 4.1 (2004)文字コードの扱い拡張(&混乱)
• MySQL 5.0 (2005)大きな進化
• MySQ...
もうひとつのバージョン番号:マイルストン
• Milestone release と言う仕組みが導入さ
れました。
• おおむね、β相当だと思えば良いです。
• RC、GAのバージョンには、つかない。
• 例:MySQL 5.7.6-m16
–...
もうひとつのバージョン番号:マイルストン
5.7.6-m16
5.7.5-m15
5.7.4-m14
5.7.3-m13
5.7.2-m12
5.7.1-m11
5.7.0-m10
マイルストンリリース番号の実例
5.6.6-m9
5.6.5-...
MySQLにほんごのれきし(1)
1997年
とみたまさひろ氏が日本語化パッチ作成
1998年
パッチが本家に採用される(3.21.30)
=UJIS, SJIS 対応。
2000年
実行時に文字セットを指定できるように
(configure時...
MySQLにほんごのれきし(2)
2005年頃
MySQL 4.1.0。マルチバイト文字セットの扱
いを大幅変更
(Unicode 3.0対応 (3 byte UTF-8))
utf8
2007年頃
MySQL 5.5.3
(Unicode 5...
余談:4 byte UTF-8
日本MySQLユーザ会・略歴
• 1998年
国内メーリングリスト(ML)開始
• 2000年3月
日本MySQLユーザ会(MyNA)発足
現在に到る
日本MySQLユーザ会
http://mysql.gr.jp
メーリングリストが、活動の本体です。
イベントの案内などもあります。
流量少ないので安心して登録してください。
OSCとか、イベント一緒に参加しましょう。
!?
今日のまとめ
MySQL 5.7 いいよ!
MySQL の歴史、色々あったけど結構いいよ!
MySQL ユーザ会のML、入るといいよ!
※未承諾広告※
4月9日(土) (2016年)
福岡で、MySQL + PostgreSQL を中心
とした データベースの勉強会やります。
新山口から博多まで、電車で40分弱なので、
ご興味のある方はぜひお越しください!
最近始めたあなたも今日から語れるようになるMySQLの{概要と最新情報}入門@
Upcoming SlideShare
Loading in …5
×

最近始めたあなたも今日から語れるようになるMySQLの{概要と最新情報}入門@

2016/02/27に新山口で開催された 第13回 中国地方DB勉強会 in 山口での、MySQLの最新情報+基礎知識のお話の資料(一部手を加えています)。

  • Be the first to comment

最近始めたあなたも今日から語れるようになるMySQLの{概要と最新情報}入門@

  1. 1. 最近始めたあなたも 今日から語れるようになる MySQLの {概要と最新情報}入門 2016/02/27 日本MySQLユーザ会(MyNA) 坂井 恵 (@sakaik) 第13回 中国地方DB勉強会 in 山口
  2. 2. 免責事項 いろいろ関係ありません。
  3. 3. 本日のメニュー • MySQL 5.7 最新情報 – ざっくりとわかるMySQL 5.7 – MySQLの情報源 – 日本MySQLユーザ会 • MySQL 5.7 に到る道 – バージョン番号 – 機能 – 開発主体
  4. 4. 自己紹介 • @sakaik • 千葉県から来ました そーだいさんが、「東京から」っ て紹介するから、ちがいますちが います、千葉です、と。
  5. 5. • 東京ディズニーランド! • 旧・新東京国際空港! • 東京ドイツ村 • 東京モーターショー 千葉県と言えば・・・・ そーだいさんが、「東京から」っ て言うから、ちがいますちがいま す、千葉です、と強調しておかな いとと思い、千葉を代表するもの を紹介!
  6. 6. 自己紹介 • @sakaik • 千葉県から来ました • MySQLでごはん食べてません • MySQLは趣味です
  7. 7. 自己紹介 • @sakaik • 千葉県から来ました • MySQLでごはん食べてません • MySQLは趣味です • アドベントカレンダー
  8. 8. • MySQLマニュアルを読む Advent Calendar 2015 – http://qiita.com/advent- calendar/2015/mysql_manual アドベントカレンダー2015:私もひとつ やらなきゃよかった。。。 もうやらない・・・ でもべんきょうには、なった。 一生に一度は、やってみると、面白いとは思います・・・
  9. 9. 山口に着いてから、 下を向いて歩きました。 SLは分かるけど、 水馬(あめんぼう)は何故?
  10. 10. アウトプットとか
  11. 11. セルコ「プログラマのためのSQL」 4版 「英訳したい(正確性の高まった)日本版」と日記で紹介していたら、英語の第五版が出 てしまいました(笑)。誤り部分が修正されたかは確認していませんが、全体の構成が スッキリと洗練されています。
  12. 12. 本題に入ります MySQL 5.7 最新情報
  13. 13. MySQL 5.7 最新情報 • MySQL 5.7 が出ました! • 2015/10 MySQL 5.7.10 にて GA • 2016/02 現在、MySQL 5.7.11 が最新
  14. 14. MySQL 5.7 の特徴 要するに・・・・ • 速くなった • 安全になった • いくつかの機能が増えた
  15. 15. • サブクエリとか • 内部処理で一時テーブルを使っていた処理と か – UNION ALL, サブクエリ • 同時実行(多コネクション)とか • オプティマイザの改良 – http://nippondanji.blogspot.jp/2015/12/mysql-user-conference-tokyo-2015mysql- 57.html MySQL 5.7:高速化
  16. 16. 主な新機能 • JSON対応(データ型/関数等) • GIS機能の整理・拡充 (spatial型) • レプリケーションの進化 – マルチソースレプリケーション – パラレルレプリケーション • 内部情報を見る仕組みの充実 – Performance_schema、sysスキーマ • GENERATED COLUMN バラバラの名前が付けられていた関 数が ST_* 関数群に整理されたり。 「これから本気でやるぞ」感があら われています
  17. 17. 参考:GENERATED COLUMN 日本語で「生成列」とも。 mysql> CREATE TABLE gentest (a int, b int, c int GENERATED ALWAYS AS (a+b)); mysql> INSERT INTO gentest (a,b) values (3,5),(2,9); mysql> SELECT * FROM gentest; +------+------+------+ | a | b | c | +------+------+------+ | 3 | 5 | 8 | | 2 | 9 | 11 | +------+------+------+ mysql> CREATE TABLE gentest2 (a int, b int, c int GENERATED ALWAYS AS ((a+b)*rand())); ERROR 3102 (HY000): Expression of generated column 'c' contains a disallowed function. randomとか出来るかな?と、イタ ズラ心で試してみましたが、さすが にダメでした(笑)
  18. 18. MySQL 5.7 の情報 • 150を超える新機能、改善等 – https://yakst.com/ja/posts/3037 • その他 講演発表資料、ブログなど
  19. 19. • 接続パスワードの有効期限 • SQLモードのデフォルト値の変更 MySQL 5.7:ハマりそうなところ
  20. 20. • DEFAULT_PASSWARD_LIFETIME = 360 ↓ • 360日後に接続不可に! 接続パスワードの有効期限 MySQL 5.7.11 (2016.02 リリース)で DEFAULT_PASSWARD_LIFETIME = 0 に! Yoku0825さん++ https://yakst.com/ja/posts/3742 ~MySQL 5.7.10
  21. 21. 「新しいMySQLは、360日後に接続で きなくなる時限爆弾があるよ」 と言っている人には、 「それ、MySQL 5.7.11 で ゼロに なったよ」 と教えてあげよう。 接続パスワードの有効期限 ・いったん 5.7.10等をインストールしたものを、アップグレードしても、パラメタは変わらない のでちゅうい ・MySQL派生の他社サーバ類では、これを引きずっているものがあるのでちゅうい
  22. 22. • SQL_MODE: ONLY_FULL_GROUP_BY がデフォルトでオンになった ↓ • 雑なクエリが書けなくなって歓迎! (きっとどこかで悲鳴が) SQLモードのデフォルト値
  23. 23. 例: × SELECT f_id, name, count(*) FROM tbl1 GROUP BY f_id; ○ SELECT f_id, name, count(*) FROM tbl1 GROUP BY f_id, name; SQL_MODE: ONLY_FULL_GROUP_BY
  24. 24. その他MySQL5.7の情報は 自分が関心のある部分について、 自分で情報収集しよう
  25. 25. MySQLの情報源 • MySQLマニュアル • オラクル公式情報 • Twitter #mysql_jp • イベント参加・開催・公開資料等 • ユーザ会メーリングリスト
  26. 26. ここまで • MySQL 5.7 の最新情報とかのお話
  27. 27. ここからは MySQL 5.7 に到る道 のお話をします。 最近始めたあなたも、これで、MySQLを昔 から知っていたような顔ができます
  28. 28. MySQLの開発主体 • 1995年 TcXが初バージョン公開 • 2000年 6月MySQL AB 設立 • 2005年 OracleがInnoBase Oy を買収 – 2006年 MySQL KK 設立 • 2008年 Sun Microsystems が MySQL社を買収 • 2010年 Oracle が Sun Microsystemsを買収
  29. 29. MySQL InnoBase Oracle Sun Microsystems 2005 2008 2010 × × ×
  30. 30. 参考: Oracleの「10の約束」 もう5年以上経ったけれども、素晴ら しい開発を続けてくれています
  31. 31. • MySQL 3.23 (2001)みんなが使い始めた • MySQL 4.0 (2003)使いやすくなってきた • MySQL 4.1 (2004)文字コードの扱い拡張(&混乱) • MySQL 5.0 (2005)大きな進化 • MySQL 5.1 (2008)更に大きな進化 • MySQL 5.5 (2010)Oracle後初のメジャー • MySQL 5.6 (2013)初の純Oracleバージョン • MySQL 5.7 (2015)現在の最新バージョン MySQLの主なバージョン 青字 MySQL AB 時代 黒字 Sun Microsystems 時代 赤字 Oracle 時代 その他、幻の MySQL 6.0, MySQL 5.4 も。
  32. 32. もうひとつのバージョン番号:マイルストン • Milestone release と言う仕組みが導入さ れました。 • おおむね、β相当だと思えば良いです。 • RC、GAのバージョンには、つかない。 • 例:MySQL 5.7.6-m16 – この次は 5.7.7-RC, 5.7.8-RC, 5.7.9(GA)
  33. 33. もうひとつのバージョン番号:マイルストン 5.7.6-m16 5.7.5-m15 5.7.4-m14 5.7.3-m13 5.7.2-m12 5.7.1-m11 5.7.0-m10 マイルストンリリース番号の実例 5.6.6-m9 5.6.5-m8 5.6.4-m7 5.6.3-m6 5.6.2-m5 5.6.1-m4 5.6.0-m3 5.5.3-m3 5.5.2 5.5.1 5.5.0-m2 5.4(開発終了) を milestone 1 とした。
  34. 34. MySQLにほんごのれきし(1) 1997年 とみたまさひろ氏が日本語化パッチ作成 1998年 パッチが本家に採用される(3.21.30) =UJIS, SJIS 対応。 2000年 実行時に文字セットを指定できるように (configure時ではなく)(3.23.14)
  35. 35. MySQLにほんごのれきし(2) 2005年頃 MySQL 4.1.0。マルチバイト文字セットの扱 いを大幅変更 (Unicode 3.0対応 (3 byte UTF-8)) utf8 2007年頃 MySQL 5.5.3 (Unicode 5.0, 6.0 対応 (4 byte UTF-8)) utf8mb4
  36. 36. 余談:4 byte UTF-8
  37. 37. 日本MySQLユーザ会・略歴 • 1998年 国内メーリングリスト(ML)開始 • 2000年3月 日本MySQLユーザ会(MyNA)発足 現在に到る
  38. 38. 日本MySQLユーザ会 http://mysql.gr.jp メーリングリストが、活動の本体です。 イベントの案内などもあります。 流量少ないので安心して登録してください。 OSCとか、イベント一緒に参加しましょう。 !?
  39. 39. 今日のまとめ MySQL 5.7 いいよ! MySQL の歴史、色々あったけど結構いいよ! MySQL ユーザ会のML、入るといいよ!
  40. 40. ※未承諾広告※ 4月9日(土) (2016年) 福岡で、MySQL + PostgreSQL を中心 とした データベースの勉強会やります。 新山口から博多まで、電車で40分弱なので、 ご興味のある方はぜひお越しください!

×