Recommended
PDF
日本のお客様におけるAmazon Auroraへの移行・検証事例と技術ポイント
PDF
Amazon Aurora Deep Dive (db tech showcase 2016)
PDF
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
PDF
PDF
アーキテクチャから理解するPostgreSQLのレプリケーション
PPTX
[社内勉強会]ELBとALBと数万スパイク負荷テスト
PPTX
PDF
PDF
SAP on Azure Cloud Workshop Material Japanese 20190221
PDF
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
PDF
MHA for MySQLとDeNAのオープンソースの話
PDF
MySQL InnoDB Clusterによる高可用性構成(DB Tech Showcase 2017)
PDF
ヤフー社内でやってるMySQLチューニングセミナー大公開
PDF
そのRails Engine、 本当に必要ですか?
PPTX
Oracleのソース・ターゲットエンドポイントとしての利用
PDF
さいきんの InnoDB Adaptive Flushing (仮)
PDF
【第1回EMS勉強会】Autopilot設計時のポイント
PPTX
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
PDF
PDF
PDF
それでも環境依存は残っている~起きたり起きなかったりする問題のお話~
PDF
今さら聞けない!Windows Server 2016Active Directoryドメインサービス入門
PDF
SQL Server コンテナ入門(Kubernetes編)
PDF
OCI 購入モデルの整理と Universal Credit 最新情報(2021年2月17日版)
KEY
PDF
PDF
PDF
PDF
著名PHPアプリの脆弱性に学ぶセキュアコーディングの原則
PDF
More Related Content
PDF
日本のお客様におけるAmazon Auroraへの移行・検証事例と技術ポイント
PDF
Amazon Aurora Deep Dive (db tech showcase 2016)
PDF
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
PDF
PDF
アーキテクチャから理解するPostgreSQLのレプリケーション
PPTX
[社内勉強会]ELBとALBと数万スパイク負荷テスト
PPTX
PDF
What's hot
PDF
SAP on Azure Cloud Workshop Material Japanese 20190221
PDF
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
PDF
MHA for MySQLとDeNAのオープンソースの話
PDF
MySQL InnoDB Clusterによる高可用性構成(DB Tech Showcase 2017)
PDF
ヤフー社内でやってるMySQLチューニングセミナー大公開
PDF
そのRails Engine、 本当に必要ですか?
PPTX
Oracleのソース・ターゲットエンドポイントとしての利用
PDF
さいきんの InnoDB Adaptive Flushing (仮)
PDF
【第1回EMS勉強会】Autopilot設計時のポイント
PPTX
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
PDF
PDF
PDF
それでも環境依存は残っている~起きたり起きなかったりする問題のお話~
PDF
今さら聞けない!Windows Server 2016Active Directoryドメインサービス入門
PDF
SQL Server コンテナ入門(Kubernetes編)
PDF
OCI 購入モデルの整理と Universal Credit 最新情報(2021年2月17日版)
KEY
PDF
PDF
PDF
Viewers also liked
PDF
著名PHPアプリの脆弱性に学ぶセキュアコーディングの原則
PDF
PDF
PPTX
OSSで実現するハイブリッドクラウド4ノードクラスタ ~Pacemakerのチケット機能で災害対策~
PDF
プロジェクトとプロジェクトマネジメントの基本
PDF
CloudFront構築事例 ハートビーツ 20121025
PDF
PDF
物理サーバとクラウドの運用管理の違い 2010 03 24 馬場
PDF
PDF
宣伝費ゼロで累計200万DLに至った経緯 - 写真加工スマホアプリMy Heart Camera と Pico Sweet
PDF
PDF
Similar to Mysql toranomaki
PDF
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
PPTX
PDF
ODP
MySQl 5.6新機能解説@第一回 中国地方DB勉強会
PDF
20170622_MySQL最新情報 ~MySQL 8.0 開発状況、MySQL InnoDB Cluster、などのご紹介~ by 日本オラクル株式会社...
PDF
MySQL最新動向と便利ツールMySQL Workbench
PDF
MySQLのNoSQL機能 - MySQL JSON & HTTP Plugin for MySQL
PDF
MySQL 5.6新機能解説@dbtechshowcase2012
PDF
PDF
[db tech showcase Tokyo 2015] D23:MySQLはドキュメントデータベースになり、HTTPもしゃべる - MySQL Lab...
PDF
What's New in MySQL 5.7 Security
PPTX
[db tech showcase 2017 Tokyo] A23 - MySQLのセキュリティ関連機能の現状
PDF
PDF
MySQL 5.7 & 最新開発状況 @ オープンソースカンファレンス20
PDF
20190530 osc hokkaido_public
PPTX
[OSC 2017 Tokyo/Fall] OSSコンソーシアム DB部会 MySQL 8.0
PDF
PDF
MySQL Cluster7.3 GAリリース記念セミナー! MySQL & NoSQL 圧倒的な進化を続けるMySQLの最新機能!
PDF
第九回中国地方DB勉強会 in 米子 MySQL 5.7+
PPTX
最近始めたあなたも今日から語れるようになるMySQLの{概要と最新情報}入門@
More from Mikiya Okuno
PDF
PDF
What's New in MySQL 5.7 Replication
PDF
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
PDF
What's New in MySQL 5.7 InnoDB
PDF
PDF
What's New in MySQL 5.7 Optimizer @MySQL User Conference Tokyo 2015
PDF
MySQL 5.7 トラブルシューティング 性能解析入門編
PDF
RDBにおけるバリデーションをリレーショナルモデルから考える
PDF
PDF
PDF
MySQL Cluster 7.4で楽しむスケールアウト @DB Tech Showcase 2015/06
PDF
MySQL Cluster 新機能解説 7.5 and beyond
PDF
リレーショナルデータベースとの上手な付き合い方 long version
PDF
PDF
私は如何にして詳解 MySQL 5.7を執筆するに至ったか
PDF
PDF
サポート一筋24+年のエンジニア、サポートのイロハは E4500に教わった。 Sun Microsystems 勉強会〜1994年頃から2000年頃の思い...
PDF
PDF
データモデルについて知っておくべき7つのこと 〜NoSQLに手を出す前に〜
PDF
Recently uploaded
PDF
基礎から学ぶ PostgreSQL の性能監視 (PostgreSQL Conference Japan 2025 発表資料)
PDF
第25回FA設備技術勉強会_自宅で勉強するROS・フィジカルAIアイテム.pdf
PDF
visionOS TC「新しいマイホームで過ごすApple Vision Proとの新生活」
PPTX
PDF
安価な ロジック・アナライザを アナライズ(?),Analyze report of some cheap logic analyzers
PDF
PCCC25(設立25年記念PCクラスタシンポジウム):東京大学情報基盤センター テーマ1/2/3「Society5.0の実現を目指す『計算・データ・学習...
Mysql toranomaki 1. 2. 3. 4. 5. 6. 7. MySQL の機能的特徴
●
●
●
●
●
●
●
●
ANSI SQL 標準に準拠(一部の
文法を除く。)
種々のプラットフォームをサポー
ト( Windows 、 Linux 、 Mac 、各
種 UNIX 系 OS )
ストレージエンジンによりデータ
を格納するレイヤーを仮想化
ACID 準拠のトランザクション
XA トランザクション
非同期・準同期 - Master/Slave
型レプリケーション
水平パーティショニング
( Range 、 List 、 Hash 、 Key )
ストアドプロシージャ、ストアド
ファンクション、トリガ
●
●
●
●
●
●
●
●
●
●
●
UNION
ビュー
サブクエリ
INFORMATION_SCHEMA
SSL による通信
Unicode をはじめとした各種文
字コードのサポート
全文検索
タイムゾーンのサポート
多種多様な開発言語のサポー
ト( C 、 C+
+ 、 Java 、 Perl 、 PHP 、 Python 、
Ruby など)
ODBC による接続のサポート
NoSQL インターフェイス
8. 9. 10. 11. GPL - GNU General Public License
●
リチャード・ストールマン氏により考案されたソフトウェアラ
イセンス
–
–
–
–
●
●
1989 年〜
世界で最も用いられているオープンソースライセンス
フリー(自由な)ソフトウェアを実現するために考えられた
コピーレフトを具現化するためのライセンス
現在の著作権法の上に立脚
Copyleft – All rights reversed
–
Copyright – All rights reserved を文字ったもの
●
–
–
意味は真逆
ユーザーに完全な自由を認める。
再配布物(派生物や 2 次利用した作品)のライセンスを
同じものにすることを要求
12. GPL の適用範囲
●
ライセンスを GPL にする必要がある場合
–
–
GPL のソフトウェアを改造してまたはそのまま再配布
GPL のソフトウェアを利用したソフトウェアを再配布
●
●
●
●
GPL のライブラリをリンク
GPL のソースコードを拝借
プロセス間通信で GPL のプログラムと協調動作。(グ
レーゾーン中のグレーゾーン!)
ライセンスを GPL にする必要がない場合
–
–
–
–
–
–
ソフトウェアを頒布しない場合
ネットワーク経由で GPL のプログラムと協調動作
単独で動作するプロセスとしてバンドル
GPL の OS カーネル上で動作する
GPL のシステムライブラリを利用する
GPL ソフトウェア用の”インストーラ”
13. 14. インストールは 15 分
●
3 ステップ
–
–
–
–
●
●
●
ダウンロード
http://dev.mysql.com/downloads
パッケージのインストール
起動!!
慣れれば 5 分でインストール可能
最新版を使うべし!
Windows 版はインストールウィザードあり
–
–
サーバー本体だけでなく、ドライバや GUI ツールも一発
インストール
ただし XP は非対応
15. 16. 17. 18. 19. MySQL のユーザーアカウント
●
●
●
username@hostname という形式
– username は任意のユーザー名(文字列)
– hostname はクライアントのホスト名または IP アドレス
– ユーザー名が同じでも接続元が違えば別アカウント!
匿名ユーザー
– ''@host1
ワイルドカード = %
– john@'%' … 任意のホスト名に一致
– john@'%.hoge.com' … hoge.com というドメイン名に一致
– john@'192.168.1.%' … 192.168.1.0 のネットワークに一致
● john@'192.168.1.0/255.255.255.0' のほうがベター
20. 21. MySQL 5.6 で利用可能な
認証プラグイン
プラグイン名
説明
商用
Native
デフォルトの認証方式
Old Native
バージョン 4.1 以前の認証方式
SHA-256
SHA-256 をパスワードのハッシュに利用する方式
Clear Text
平文を用いた認証方式。外部認証を行う場合に必
要
PAM
PAM を用いた認証方式。 MySQL サーバーにはパ Y
スワードを平文で送る必要がある
Windows Native
Windows 認証を用いて接続する
Socket PeerCredential
UNIX ドメインソケットで接続するときに利用可能な
特殊なプラグイン。
Y
22. 23. 24. 25. 26. 27. 28. MySQL で利用可能な文字コード
文字コード名
対応文字
ストレージサイズ
sjis
JIS X 0208:1997
1 〜 2 バイト
cp932
JIS X 0208:1997 + NEC 特殊文字・ IBM
拡張文字
1 〜 2 バイト
ujis
JIS X 0208:1997
1 〜 3 バイト
eucjpms
JIS X 0208:1997 + NEC 特殊文字・ IBM
拡張文字
1 〜 3 バイト
utf8
JIS X 0208:1997 + NEC 特殊文字・ IBM
拡張文字
1 〜 3 バイト
utf8mb4
JIS X 0213:2004
1 〜 4 バイト
29. 30. 31. 文字コードの指定はカラム単位
CREATE TABLE t (
a VARCHAR(100) CHARACTER SET cp932,
b VARCHAR(100) CHARACTER SET eucjpms,
c VARCHAR(100) CHARACTER SET utf8,
:
);
必要に応じて
自動変換
32. MySQL サーバーにおける
文字コード自動変換
④ データを
蓄える際の
文字コード
② クエリの実行
に利用する
文字コード
⑤ テーブル名や
カラム名に対する
文字コード
テーブル
① 送信する
SQL 文に対する
文字コード
クライアント
セッション
MySQL サーバー
⑥ ファイル名を
解決する際の
文字コード
③ クエリの
実行結果に対する
文字コード
ファイルシステム
出展:エキスパートのための MySQL
[運用+管理]トラブルシューティングガイド
33. カラムの文字コードのデフォルト値
CREATE TABLE t (
a VARCHAR(100) CHARACTER SET cp932,
b VARCHAR(100) CHARACTER SET eucjpms,
c VARCHAR(100),
:
指定がない
) CHARACTER SET utf8;
デフォルト値として
テーブルの文字コードが
カラムに適用される
34. テーブルの文字コードのデフォルト値
CREATE TABLE t (
a VARCHAR(100),
b VARCHAR(100),
c VARCHAR(100),
:
);
カラム、テーブル双方に
文字コードの指定がない
CREATE DATABASE db CHARACTER SET utf8;
データベースの文字コードが適用される
35. 36. 37. 38. 39. 40. 41. ネクストキーロック
●
●
Next Key Lock = Record Lock + Gap Lock
Gap Lock とは
–
–
–
レコードとレコードの間の仮想的な空間をロックする
S-Lock / X-Lock
ファントム防止
●
●
X-Gap-Lock は Insertion Intention Lock と競合する
Insertion Intention Lock
–
–
レコードを挿入する前に Gap をロックする
共有ロック
●
同じ Gap に対して同時に INSERT 可能
42. 43. 44. 45. 46. 47. 48. 49. Explain
mysql> EXPLAIN SELECT 'cond1' AS LABEL, COUNT(1) AS COUNT FROM Country WHERE Code LIKE 'J%' UNION SELECT 'cond2', COUNT(1)
FROM Country WHERE IndepYear > 1900 UNION SELECT 'cond3', COUNT(1) FROM Country WHERE Continent = 'Africa' UNION SELECT
'cond4', count(1) FROM Country WHERE Name = LocalName;
+----+--------------+----------------+-------+---------------+---------+---------+------+------+--------------------------+
| id | select_type | table
| type | possible_keys | key
| key_len | ref | rows | Extra
|
+----+--------------+----------------+-------+---------------+---------+---------+------+------+--------------------------+
| 1 | PRIMARY
| Country
| range | PRIMARY
| PRIMARY | 3
| NULL |
3 | Using where; Using index |
| 2 | UNION
| Country
| ALL
| NULL
| NULL
| NULL
| NULL | 239 | Using where
|
| 3 | UNION
| Country
| ALL
| NULL
| NULL
| NULL
| NULL | 239 | Using where
|
| 4 | UNION
| Country
| ALL
| NULL
| NULL
| NULL
| NULL | 239 | Using where
|
| NULL | UNION RESULT | <union1,2,3,4> | ALL
| NULL
| NULL
| NULL
| NULL | NULL | Using temporary
|
+----+--------------+----------------+-------+---------------+---------+---------+------+------+--------------------------+
5 rows in set (0.00 sec)
50. 51. 52. JOIN の種類
●
MySQL にある JOIN の種類
–
–
–
–
Nested Loop Join
Block Nested Loop Join ← 変形 NLJ
Batched Key Access Join ← 変形 BNLJ
Pushdown Join ( MySQL Cluster のみ。爆速)
53. Block Nested Look Join
t2
t1
スキャン
1. WHERE 句の条件に沿って
t1 からレコードをフェッチし
バッファに格納
2. バッファが満タンに
なったら t2 を
スキャンして JOIN
3. t1 のすべての
レコードについて
JOIN Buffer
くりかえし
Using Join Buffer...
54. Batched Key Access Join
t2
t1
1. WHERE 句の条件に沿って
t1 からレコードをフェッチし
バッファに格納
2. バッファが満タンに
なったら MRR で t2 から
レコードをフェッチして
JOIN
MRR
Scan
4. t1 のすべての
レコードについて
くりかえし
3. ROWID の順で
t2 からレコードをフェッチ
JOIN Buffer
55. 56. 57. 58. 59. 60. 61. まとめ
●
●
●
MySQL はお手頃な RDBMS
GPLv2+FOSS License Exception / 商用ライセンス
運用のコツをおさえて安定稼働
–
–
–
–
–
–
–
–
設定のツボを抑える
文字コードは確実に指定
トランザクションのエラー処理は忘れずに
使い方広がるレプリケーション
準同期レプリケーションでお手軽 HA
MySQL Workbench で Visual Explain
バックアップは万全に
遅延レプリケーションでお手軽バックアップ
62.