8/27夜に東京渋谷で開催された、日本MySQLユーザ会会2015年8月、に参加してきました。
今回は Yoku0825さんが幹事をしてくださったので、私は気楽に一参加者で。
kamipo さんが Oracle
ACE(おらくるえーす)になったので、お祝いに講演いただくのが主たる趣旨(というか名目というか)。
Oracle ACE というのは、Oracle製品について著しい何らかの成果をあげた人を …
YAPC::Asia 2015 のセッションで、MySQL のタイムゾーンの話が出ていましたが、以前タイムゾーン周りで少しはまったことがあったのを思い出したので書いてみます。
MySQLのデフォルトのタイムゾーンは mysqld 起動時のシステム設定です。TZ 環境変数の値か、変数が設定されていなければ /etc/localtime(Ubuntu の場合) です。
# TZ=Japan /usr/sbin/mysqld
mysql> SHOW VARIABLES LIKE '%time_zone%'; +------------------+--------+ | Variable_name | Value | +------------------+--------+ | system_time_zone | JST | | time_zone | SYSTEM | +------------------+--------+ mysql> system date; SELECT NOW(); 2015年 8月 22日 土曜日 21:39:12 JST +---------------------+ | now() | +---------------------+ | 2015-08-22 21:39:12 | +---------------------+
# TZ=UTC /usr/sbin/mysqld
mysql> SHOW VARIABLES LIKE …[さらに読む]
YAPC::Asia
Tokyo 2015 お疲れ様でした!
2日目のライトニングトークでしゃべらせていただきました。
MySQL 5.7の罠があなたを狙っている from
yoku0825
ネタ的には 発掘するたび書き溜めてきたブログ記事 から
笑いが取れそうなものを 大事そうなもののみをピックアップして紹介した感じです。
知らないと致命傷、でも知ってれば予防できる(はず)
MySQL 5.7で不幸になる人が1人でも少なくなってくれることを願っています。
…
MySQL5.7において、JSON(JavaScript Object Notation)がサポートされていて、
様々な言語やアプリ間で、より簡単にデータの受け渡しが行えるようになりました。
ドキュメントをJSONフォーマットでデータベースに保存して、
様々なアプリケーションから呼び出して利用出来るなど、
汎用性と運用面での活用が出来るようになっています。
1) ネイティブのJSONデータ型
効率的なデータ処理と保管にネイティブ内部バイナリ形式をサポート。
2) 組み込みJSONファンクション
効率よくドキュメントを保存,検索,更新,操作する事を可能にします。
3) JSON コンパレーター
文書データを容易にSQLクエリと統合することが可能
4) Generated …
This is translation for my early post in Japanese.
As of MySQL 5.7.6, generated column was introduced as 5.7's new
feature.
I found that generated column could behave like CHECK
constraint.
Let's start :)
mysql57> CREATE TABLE t1 (num int primary key, val varchar(32)) Engine= InnoDB;
Query OK, 0 rows affected (0.03 sec)
mysql57> INSERT INTO t1 (num, val) VALUES (1, '2015-08-06');
Query OK, 1 row affected (0.01 sec)
mysql57> SELECT * FROM t1;
+-----+------------+
| num | val |
+-----+------------+
| 1 | 2015-08-06 |
+-----+------------+
1 row in set (0.00 sec)
First, there's the bad …
MySQL5.7.7RCの次のリリース、MySQL5.7.8が8月3日にリリースされました。
多くの機能追加や変更が行われています。RCの次のリリースですが、GAでは無いのでRC2という事になるかと思います。
RCにしては、少々機能追加が多いかと思いますが、色々と便利な機能が追加されています。
詳細は、以下のURLを参照下さい。
Changes in MySQL 5.7.8 (2015-08-03)
http://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-8.html
—————————————
Backup Notes
Configuration Notes
JSON Notes
Optimizer Notes
Packaging Notes
Performance Schema Notes
Plugin Notes
Security Notes
Spatial Data Support
SQL Mode Notes
Functionality Added or …
generated columnそのものの説明はこのへんに。
日々の覚書: MySQL 5.7.6のgenerated
columnは関数インデックスの夢を見るか
というわけでやってみましょう。
mysql57> CREATE TABLE t1 (num int primary key, val varchar(32)) Engine= InnoDB;
Query OK, 0 rows affected (0.03 sec)
mysql57> INSERT INTO t1 (num, val) VALUES (1, '2015-08-06');
Query OK, 1 row affected (0.01 sec)
mysql57> SELECT * FROM t1;
+-----+------------+
| num | val |
+-----+------------+
| 1 | 2015-08-06 |
+-----+------------+
1 row in set (0.00 sec)
こんなテーブルがあったとするじゃろ?
mysql57> ALTER TABLE t1 ADD check_val datetime AS (CAST(val AS …[さらに読む]
というよりは、今までが「デフォルトで入っているつもりが入っていなかった」ので、そのバグをFIX、ということらしい。
The validate_password plugin was not installed by RPM packages
for platorms using systemd or SysV-style initialization scripts.
(Bug #18438833)MySQL :: MySQL 5.7 Release Notes :: Changes in
MySQL 5.7.8 (2015-08-03)
やったね! 初心者殺しの罠が一つ増えたよ! orz
validate_passwordプラグインについては5.6で導入された機能なので、日本語マニュアルが既にある。
MySQL :: MySQL 5.6 リファレンスマニュアル :: 6.1.2.6
パスワード検証プラグイン
…
今までのInnoDB圧縮(ROW_FORMAT= Compress)は InnoDBテーブル圧縮 、新しいやつは InnoDBページ圧縮 としてドキュメントに載っている。
今までのInnoDBテーブル圧縮はzlibのみの対応で、圧縮後のデータの詰め直しなども全部InnoDB側で対応していた。そのデータの詰め直しをファイルシステム側に任せることで、CPUバウンドだった圧縮処理を軽く/圧縮効率を良くしよう、というアレだと認識している。
詳しくはこちら。 InnoDB Transparent PageIO Compression | MySQL
Server Blog
CentOS …
概要だけでベンチマークとかしてないです。あとななめ読みなので俺の興味のないところ(空間インデックスとか)はかっ飛ばしてます。
MySQL :: MySQL 5.7 Release Notes :: Changes in
MySQL 5.7.8 (Not yet released)
* innodb_adaptive_hash_index_parts
* Adaptive Hashのラッチを分割できるらしい。暗黙のデフォルトは8 (以前は1固定)
* Adaptive Hashが有効だと性能が劣化する書き込みバウンドのケースで効くか?
* …