utf8_unicode_ci に対する日本の開発者の見解 - かみぽわーる で、日本語が分かる人には utf8_unicode_ci のヤバさを感じてもらえたと思うんですけど、この挙動はドキュメントによると UCA というアルゴリズムによるものらしい。
MySQL implements the xxx_unicode_ci collations according to the Unicode Collation Algorithm (UCA) described at …
[さらに読む]Ideas, releases, practical guides, and perspectives from the people building with MySQL.
MySQL 監査ログのローテション
MySQL Enterprise Auditで取得した監査ログをMySQL Utilitiesを利用して、
定期的にローテーション出来るかどうか確認してみました。
Audit Logのローテーションとしては、以下の2パターンがあります。
1) ログサイズによる自動ローテーション
sysvar_audit_log_rotate_on_size
If the audit_log_rotate_on_size value is greater than 0,
the audit log plugin closes and reopens its log file
if a write to the file causes its size to exceed this value.
2) …
[さらに読む]
MySQL :: MySQL 5.7 Release Notes :: Changes in
MySQL 5.7.6 (2015-03-09, Milestone 16) から抜粋。
MySQL Server from Community Edition distributions now tries to
deploy with SSL support enabled automatically if no SSL options
are specified explicitly and it finds any of the ca.pem,
server-cert.pem, and server-key.pem files in the data directory.
In this case, clients can use a secure connection merely by
specifying --ssl on the command line.
今までは--ssl指定するとついでに--ssl-ca, --ssl-cert,
--ssl-keyを指定してやらないといけなかったのが、datadirからその辺のファイルが見つかれば指定しなくてもよしなにやってくれるらしい。
あと、サーバー側の--sslはデフォルトで有効状態に。
というわけで、 …
MySQL 5.7.5のmysql_install_dbだと
$ bin/mysql_install_db --no-defaults --basedir=./ --datadir=./test_575 -v
2015-03-12 11:23:45 [NOTE] Creating data directory ./test_575
2015-03-12 11:23:45 [NOTE] Generating random password to /root/.mysql_secret...done.
2015-03-12 11:23:45 [NOTE] Executing /opt/mysql/5.7.5/bin/mysqld --no-defaults --bootstrap --datadir=./test_575 --lc-messages-dir=./share --lc-messages=en_US --basedir=.
2015-03-12 11:23:46 [NOTE] Creating system tables...done.
2015-03-12 11:23:46 [NOTE] Filling system tables with data...done.
2015-03-12 11:23:47 [NOTE] Filling help table with data...done.
2015-03-12 11:23:47 [NOTE] Creating default user root@localhost
2015-03-12 11:23:47 [NOTE] Creating default proxy root@localhost
2015-03-12 11:23:48 [NOTE] Success!
…
日々の覚書: プレビュー "MySQL 5.7.6のInnoDB日本語全文検索 MeCab
Plugin" に引き続き、今度はngramなトークナイザー。ドキュメントは ここ 。
MeCab Pluginと違って特にINSTALL
PLUGINとかせずに即使える。
mysql> ALTER TABLE articles ADD FULLTEXT KEY (title, content) WITH PARSER ngram;
Query OK, 0 rows affected (6 hours 25 min 20.67 sec)
Records: 0 Duplicates: 0 Warnings: 0
( д ) ゚ ゚ 6時間半!? …
取り敢えずダミーデータを突っ込んだテーブルを自己結合しつつぐりぐりソートしてテンポラリーテーブルを作らせる。
$ perl -M"Digest::MD5 'md5_hex'" -e 'for ($n = 1; $n <= 1000000; $n++) { printf("%d\t%s\n", $n, md5_hex($n)); }' > /tmp/md5
mysql> create table t1 (num serial, val varchar(32));
Query OK, 0 rows affected (0.01 sec)
mysql> LOAD DATA INFILE '/tmp/md5' INTO TABLE t1;
Query OK, 1000000 rows affected (8.88 sec)
Records: 1000000 Deleted: 0 Skipped: 0 Warnings: 0
mysql> explain SELECT * FROM t1 LEFT JOIN t1 AS t2 USING(num) LEFT JOIN t1 AS t3 USING(num) ORDER BY t1.val ASC, t2.val DESC, t3.val ASC;
+----+-------------+-------+------------+--------+---------------+------+---------+-----------+--------+----------+---------------------------------+
| id | select_type | table | partitions | type | possible_keys | key | …[さらに読む]
MySQL 5.7.6で追加された新しいp_sのステージ情報から、 合法的に InnoDBに進捗どうですか?
を聞けるようになったらしい。
MySQL :: MySQL 5.7 Reference Manual :: 14.13.11.1
Monitoring ALTER TABLE Progress for InnoDB Tables Using
Performance Schema
setup_instrumentsでalter table関連のやつ(デフォルトOFF)と
mysql> SELECT * FROM setup_instruments WHERE name LIKE 'stage/innodb/alter%';[さらに読む]
+------------------------------------------------------+---------+-------+
| NAME | ENABLED | TIMED |
+------------------------------------------------------+---------+-------+
| stage/innodb/alter table (end) | NO | NO |
| stage/innodb/alter table (flush) …
MySQL 5.7.6メモそのいくつか。
今までgtid-mode= ONとOFFのマスター,
スレーブは混在できなかったので、ONにするときは一度レプリケーション群を全部止めて起動しなおさなければいけなかった。それが、出来るようになったという話。
MySQL Bugs: #71543: A new GTID_MODE is needed to
evaluate/migrate to GTID: ANONYMOUS_IN-GTID_OUT.
MySQL :: WL#7083: GTIDS: set gtid_mode=ON
online
Percona Server
5.6.22では一足先にリリースされてましたね。やってることは同じだけど実装が違うっぽい予感。
Online GTID rollout now available in Percona …
ワーニングが出るようになってますね。
「sql_modeのデフォルトにNO_AUTO_CREATE_USERを設定しようと思う」っていうネタがMorgan
Tockerのブログにあがってましたのでその布石でしょうか。
mysql> SELECT @@sql_mode;[さらに読む]
+---------------------------------------------------------------+
| @@sql_mode |
+---------------------------------------------------------------+
| ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION |
+---------------------------------------------------------------+
1 row in set (0.00 sec)
mysql> GRANT REPLICATION SLAVE ON *.* TO replicator IDENTIFIED BY 'replicator';
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> …
MySQL :: MySQL 5.7 Reference Manual :: 12.9.9
InnoDB MeCab Full-Text Parser Plugin の内容のおさらい。
まず、基本的なライブラリーと辞書は(この記事を書いている時点では).tar.gzバイナリーに同梱されているっぽいのでそちらを使う。Oracle公式のyumリポジトリー
からインストールできるrpmには含まれていないように見えるので、その場合は別途突っ込まないといけないはずだけど、libpluginmecab.soが何かにダイナミックリンクしているわけではないので、辞書だけ取ってきてmecabrcに設定すればいけるような気がする。詳しく調べてない。
…