祝・MySQL 8.0 GAリリース!
と題して久々に開催された 日本MySQLユーザ会会(MyNA会)に参加してきました。
ひと枠をいただいて、MySQL 8.0 でちょっと本気を出した感のある MySQL の GIS …
[さらに読む]TL;DR
mysql> CREATE USER hoge@xxx.xxx.xxx.xxx IDENTIFIED BY 'password';
mysql> GRANT hoge_role TO hoge@xxx.xxx.xxx.xxx;
mysql> ALTER USER hoge@xxx.xxx.xxx.xxx DEFAULT ROLE hoge_role;
と
mysql> CREATE USER hoge@xxx.xxx.xxx.xxx IDENTIFIED BY 'password' DEFAULT ROLE hoge_role;
は同じ状態になる。
当たり前といえば当たり前なんだけど、ちょっと感動したのでメモ。 MySQL 8.0で追加されたROLEの話は↓の記事。
日々の覚書: MySQL 8.0.0で追加されたROLEの仕組み ロールを作ってから
…
[さらに読む]
オープンソースカンファレンス2018北海道(OSC2018-Hokkaido)に今年も参加してきました。日本MySQLユーザ会(MyNA)として、ブース出展ならびにセミナーひと枠開催にて。
久々に会える方もたくさんいて、私、全然北海道出身でもなんでもないのですが、来るたびに「帰ってきた」という気分に勝手になっています。寒い地域だけど、とっても暖かい。いや本当に今回のOSC日程での北海道は寒かったんですけどね。
…
[さらに読む]TL;DR
MySQLのutf8 charsetは、やれ「罠」だの「絵文字が入らなくて使えない」だの「utf8という名前はutf8mb4の別名にすべき」だの、散々な言われようでディスられてかわいそうな charset なんだけど、というか主に私がそう言ってる気もするんだけど、そろそろ utf8mb3 のエイリアスとしての utf8 は消え去ろうとしてるみたいなので、ここでちょっと勝手にフォローしておく。
UTF-8 エンコーディングの RFC は RFC3629で、ここで UTF-8 は最大4バイトと書かれている。 しかし、この RFC3629 の前のRFC2279では6バイトだった。 RFC3629 の日付は 2003/11 なので、つまり 2003/11 よりも前は UTF-8 …
[さらに読む]MySQL 5.7からMySQL 8.0でのevents_statements_summary_by_digestのカラム変更。
$ diff -y --suppress-common-lines <(mysql57 -sse "DESC p_s.events_statements_summary_by_digest")
<(mysql80 -sse "DESC p_s.events_statements_summary_by_digest")
DIGEST varchar(32) YES NULL | DIGEST varchar(64) YES NULL
FIRST_SEEN timestamp NO 0000-00-00 00 | FIRST_SEEN timestamp(6) NO 0000-00-00 00
LAST_SEEN timestamp NO 0000-00-00 00 | LAST_SEEN timestamp(6) NO 0000-00-00 00
> QUANTILE_95 bigint(20) unsigned NO NULL
> QUANTILE_99 bigint(20) unsigned NO NULL
> …[さらに読む]
MySQL :: MySQL 8.0 Reference Manual :: 5.1.7
Server System Variables 何このパラメーター、と思ったら、 utf8mb4
のデフォルトコレーションが utf8mb4_general_ci (MySQL 5.7とそれ以前) から
utf8mb4_0900_ai_ci (MySQL 8.0)に変わったことに対する経過措置っぽかった。
これを utf8mb4_general_ci にセットしておくと、コレーションを指定せずに
utf8mb4 を使った時に今まで通り utf8mb4_general_ci
を使ってくれるということ。 当然 CREATE TABLE, ALTER
TABLE では想像したように動いて
mysql80 13> SELECT @@default_collation_for_utf8mb4;
+---------------------------------+
| @@default_collation_for_utf8mb4 | …[さらに読む]
今さらですけど、自分でもちゃんと把握してなかったので調べてみました。
MySQLのCharsetのうちシフトJIS系のものはsjisとcp932の二つあります。
どちらもコードの範囲は次のように同じです。
| 1バイト文字 | 0x00-0x7F, 0xA1-0xDF |
| 2バイト文字の1バイト目 | 0x81-0x9F, 0xE0-0xFC |
| 2バイト文字の2バイト目 | 0x40-0x7E, 0x80-0xFC |
違いは文字集合です。1バイト文字はどちらも同じ(ASCII + JIS X 0201 カナ)ですが、2バイト文字はsjisはJIS X 0208 で、cp932はWindows-31Jです。
sjisに含まれていない文字
…
[さらに読む]MySQL Innovation Day Tokyo に参加して10分ほど喋ってきました。
ひさびさに巨大サキラちゃん登場。本人曰く5年間ほど倉庫に隠れてたそうです。
昼ごはんは今半のすき焼弁当でした。豪華!
会場の様子。百数十人で満員でした
以下わたしの発表内容。スライドはこちら https://tmtm.github.io/mysql-innovation-tokyo/
MySQL恒例「RCとはいったい…」案件
utf8の指定でwarningが出るようになった
mysql> set names utf8; Query OK, 0 rows affected, 1 warning (0.00 sec) Warning (Code 3719): 'utf8' is currently an alias for the character set UTF8MB3, which will be replaced by UTF8MB4 in a future release. Please consider …[さらに読む]