innodb_flush_methodの値といえば、fdatasync(暗黙のデフォルト)かO_DIRECTくらいしか知らなかった訳だが、O_DSYNCやO_DIRECT_NO_FSYNC(5.6.7から)もあったり、Percona
ServerにはALL_O_DIRECTなんてものがあったりする。
⇒http://dev.mysql.com/doc/refman/5.5/en/innodb-parameters.html#sysvar_innodb_flush_method
⇒http://dev.mysql.com/doc/refman/5.6/en/innodb-parameters.html#sysvar_innodb_flush_method
⇒ …
DEFINER= rootでSQL SECURITY DEFINERの話です。論より実験。
d2user> SHOW GRANTS;
+------------------------------------------------+
| Grants for d2user@% |
+------------------------------------------------+
| GRANT USAGE ON *.* TO 'd2user'@'%' |
| GRANT ALL PRIVILEGES ON `d2`.* TO 'd2user'@'%' |
+------------------------------------------------+
2 rows in set (0.00 sec)
d2データベースにだけ権限を持ったd2userがいます。
ここにrootで、おとなりd1データベースのテーブルをSELECTするViewを作ります。
root> CREATE VIEW d2.v1 AS SELECT * FROM d1.t1;[さらに読む]
Query OK, 0 rows affected (0.01 sec)
root> SELECT * FROM d2.v1;
+-----+-------+
| num | val |
+-----+-------+
| 1 | one |
| 2 | two |
| 3 | three | …
--replication-do-db, --replication-ignore-dbの判定ロジックについて。
公式はこちら。
http://dev.mysql.com/doc/refman/5.6/en/replication-rules-db-options.html
なんだけど、--replication-*-dbで指定しているスキーマなのにレプリケーションされない!
という話はわりとあるあるなので書いておく。
- STATEMENTモード(MIXEDでも非決定性の関数とかがなければこっち)でロギングされている場合は、default database(SELECT DATABASE()で出てくるやつ)
- ROWモードの場合は、実際に影響を受けるデータベース
が、--replication-*-dbと比較判定される。
テスト。5.5がマスターで5.6がスレーブ。
mysql56> show …[さらに読む]
みんなmysqladminが大好きっぽいのでおいておきますね。
まずはソースコード取ってきて解凍します。全部解凍するの面倒なので、mysqladmin.ccだけ取り出しますかね。
$ wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.13.tar.gz/from/http://cdn.mysql.com/
$ tar xzf mysql-5.6.13.tar.gz mysql-5.6.13/client/mysqladmin.cc
$ vim mysql-5.6.13/client/mysqladmin.cc
はい。
頭の方から、GPLv2のライセンス表記(1~16),
各種変数の定義(35~68)くらい眺めておくと良いかも知れません。72~92に関数の定義があるのは、MySQL同梱のクライアントは個別にヘッダーファイルが作られていないからです。
…
mysqladminなんて基本的にshutdownの時しか使わないんですが、まあ色々SQLでやる時とのマッピングとか。
取り敢えず5.6.13ベースです。
⇒ http://dev.mysql.com/doc/refman/5.6/en/mysqladmin.html
- mysqladmin create ⇒ CREATE DATABASEに同じ。
- mysqladmin debug ⇒ SQLではできない。エラーログにデバッグ情報を出力する。
- mysqladmin drop ⇒ DROP DATABASEに同じ。
- mysqladmin extended-status ⇒ SHOW GLOBAL STATUSに同じ。
- mysqladmin flush-hosts ⇒ FLUSH HOSTSに同じ。
- mysqladmin flush-logs ⇒ FLUSH LOGSに同じ。ログ種別は設定できない。
- mysqladmin flush-privileges ⇒ FLUSH PRIVILEGESに同じ。
- mysqladmin …
本家のNDBCLUSTER関連のセミナー行ったりすると、
Apacheのmod_ndbで直接NDB APIが叩けるんですよ!
とかよく言われるので試してみたメモ。
NDB memcached
Engine の時と違ってNDBCLUSTER本体には同梱されていないので、Google
Codeからダウンロード。
⇒ https://code.google.com/p/mod-ndb/downloads/list
最新版のアップロードが2009/11な時点でちょっと危なげな気配がする。
取り敢えずhttpd-develを突っ込んでconfigure。
$ ./configure --mysql=/usr/ndb/7.3.1/bin/mysql_config[さらに読む]
Server version: Apache/2.4.6 (Unix)
Server built: Jul 24 2013 …
ウチではかつてはTritonn全盛、今はmroonga全盛な「MySQL de
FullTextSearch」が大好きな感じでやっています。Sphinxとか誰か手を出さないかなぁと思いつつ、いい加減MySQL
de FTSから足を洗って全文検索ライブラリはMySQLとは連携させないでやろうぜ、というのもあったりします。
そこで取り敢えず現状の洗い出し(?)の一環として、mroongaのストレージサイズをぼんやりと考えてみることにします。というか運用している分にはこれがキツい。インデックス用のmrnファイルは(tokenBigramなせいもあって)データサイズに対して線形に増えるので、ストレージ容量と、あとそれをキャッシュするだけのメモリ増設がもうままならない。
実際どれくらい食うのかを取り敢えず測ってみる。
…
å¯ã¼ã‘眼ã§ã¼ã‚“やり計算ã—ãŸã ã‘ãªã®ã§ã€é–“é•ã„ãŒã‚ã£ãŸã‚‰ã”指摘ã„ãŸã ã‘ã‚‹ã¨éžå¸¸ã«ã‚りãŒãŸã„ã§ã™m(_"_)m
ã¾ãšå‰æã€‚ウãƒã§ã¯ã‹ã¤ã¦ã¯Tritonn全盛ã€ä»Šã¯mroonga全盛ãªã€ŒMySQL
de
FullTextSearchã€ãŒå¤§å¥½ããªæ„Ÿã˜ã§ã‚„ã£ã¦ã„ã¾ã™ã€‚Sphinxã¨ã‹èª°ã‹æ‰‹ã‚’出ã•ãªã„ã‹ãªãã¨æ€ã„ã¤ã¤ã€ã„ã„åŠ æ¸›MySQL
de
FTSã‹ã‚‰è¶³ã‚’æ´—ã£ã¦å…¨æ–‡æ¤œç´¢ãƒ©ã‚¤ãƒ–ラリã¯MySQLã¨ã¯é€£æºã•ã›ãªã„ã§ã‚„ã‚ã†ãœã€ã¨ã„ã†ã®ã‚‚ã‚ã£ãŸã‚Šã—ã¾ã™ã€‚
…