>100 Views
April 09, 16
スライド概要
2016年4月9日に開催された、福岡データベース勉強会2016春 のMySQL枠発表資料です。
初出URL:https://www.slideshare.net/sakaik/db2016mysql
福岡データベース勉強会2016年春 最近始めたあなたも 今日から語れるようになる MySQLの {最新情報と概要}入門 2016/04/09 日本MySQLユーザ会(MyNA) 坂井 恵 (@sakaik)
本日のメニュー • MySQL 5.7 最新情報 – ざっくりとわかるMySQL 5.7 – MySQLの情報源 – 日本MySQLユーザ会 • MySQL 5.7 に到る道 – バージョン番号 – 機能 – 開発主体
福岡に来る途中の伊丹空港で見か けた飛行機。 MySQLを使う人なら、一度は乗っ てみたい、イルカさん模様の ATR42 です。
自己紹介 • @sakaik • 千葉県から来ました • 日本MySQLユーザ会(MyNA)副代表 • MySQLでごはん食べてません • MySQLは趣味です
アウトプットとか
アドベントカレンダー2015:私もひとつ • MySQLマニュアルを読む Advent Calendar 2015 – http://qiita.com/adventcalendar/2015/mysql_manual 「ひとりアドベントカレンダー」 一生に一度は、やってみても面白 いかも。一度でいいけど。 やらなきゃよかった。。。 もうやらない・・・ でもべんきょうには、なった。
本題に入ります MySQL 5.7 最新情報
MySQL 5.7 最新情報 • MySQL 5.7 が出ました! • 2015/10 MySQL 5.7.9 にて GA 昨年10月 • 2016/04/07 現在、MySQL 5.7.11 が最 新
MySQL 5.7 の特徴 たくさん進化していますが、要するに・・・・ • 速くなった • 安全になった • いくつかの機能が増えた
MySQL 5.7:高速化 • サブクエリとか 「ひとつのクエリの実行が早くなった もの」と 「同時アクセスが多くなっても速く動 くもの」に分けて考えると、理解しや すいかも。 • 内部処理で一時テーブルを使っていた処理と か – UNION ALL, サブクエリ • 同時実行(多コネクション)とか 最近では、ココ、重要。 • オプティマイザの改良 – http://nippondanji.blogspot.jp/2015/12/mysql-user-conference-tokyo-2015mysql57.html
主な新機能 • JSON対応(データ型/関数等) • GIS機能の整理・拡充 (spatial型) • レプリケーションの進化 – マルチソースレプリケーション – パラレルレプリケーション • 内部情報を見る仕組みの充実 – Performance_schema、sysスキーマ • GENERATED COLUMN 正式リリースの直前にぶっ込んできた もの。「今、絶対に入れる必要があ る!!」という気迫の判断あってのこ とだと思うので、今後、重要な位置を 占めていくかも。注目。
参考: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.
MySQL 5.7 の情報 • 150を超える新機能、改善等 – https://yakst.com/ja/posts/3037 • その他 講演発表資料、ブログなど
MySQL 5.7:ハマりそうなところ • 接続パスワードの有効期限 • SQLモードのデフォルト値の変更
接続パスワードの有効期限 • DEFAULT_PASSWARD_LIFETIME = 360 ↓ • 360日後に接続不可に! MySQL 5.7.11 (2016.02 リリース)で DEFAULT_PASSWARD_LIFETIME = 0 に! Yoku0825さん++ https://yakst.com/ja/posts/3742
接続パスワードの有効期限 「新しいMySQLは、360日後に接続で きなくなる時限爆弾があるよ」 と言っている人には、 「それ、MySQL 5.7.11 で ゼロに なったよ」 と教えてあげよう。
SQLモードのデフォルト値 • SQL_MODE: ONLY_FULL_GROUP_BY がデフォルトでオンになった ↓ • 雑なクエリが書けなくなって歓迎! (きっとどこかで悲鳴が)
SQLモードのデフォルト値 SQL_MODE: ONLY_FULL_GROUP_BY 例: × SELECT f_id, name, count(*) FROM tbl1 GROUP BY f_id; ○ SELECT f_id, name, count(*) FROM tbl1 GROUP BY f_id, name;
その他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 Microsystems が MySQL社を買収 • 2010年 Oracle が Sun Microsystemsを買収
MySQL × InnoBase × Sun Microsystems × Oracle 2005 2008 2010
参考: Oracleの「10の約束」
MySQLの主なバージョン • • • • • • • • MySQL MySQL MySQL MySQL MySQL MySQL MySQL MySQL 3.23 4.0 4.1 5.0 5.1 5.5 5.6 5.7 (2001)みんなが使い始めた (2003)使いやすくなってきた (2004)文字コードの扱い拡張(&混乱) (2005)大きな進化 (2008)更に大きな進化 (2010)Oracle後初のメジャー (2013)初の純Oracleバージョン (2015)現在の最新バージョン 青字 MySQL AB 時代 黒字 Sun Microsystems 時代 赤字 Oracle 時代 その他、幻の MySQL 6.0, MySQL 5.4 も。
もうひとつのバージョン番号:マイルストン • Milestone release と言う仕組みが導入さ れました。 • おおむね、β相当だと思えば良いです。 • RC、GAのバージョンには、つかない。 • 例:MySQL 5.7.6-m16 – この次は 5.7.7-RC, 5.7.8-RC, 5.7.9(GA)
もうひとつのバージョン番号:マイルストン マイルストンリリース番号の実例 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 とした。
MySQLにほんごのれきし(1) 1997年 とみたまさひろ氏が日本語化パッチ作成 1998年 パッチが本家に採用される(3.21.30) =UJIS, SJIS 対応。 2000年 実行時に文字セットを指定できるように (configure時ではなく)(3.23.14)
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
余談:4 byte UTF-8
日本MySQLユーザ会・略歴 • 1998年 国内メーリングリスト(ML)開始 • 2000年3月 日本MySQLユーザ会(MyNA)発足 現在に到る
日本MySQLユーザ会 http://mysql.gr.jp メーリングリストが、活動の本体です。 イベントの案内などもあります。 流量少ないので安心して登録してください。 OSCとか、イベント一緒に参加しましょう。
今日のまとめ MySQL 5.7 いいよ! MySQL の歴史、色々あったけど結構いいよ! MySQL ユーザ会のML、入るとなにかいいよ!