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
⇒ …
The latest from the MySQL community
Ideas, releases, practical guides, and perspectives from the people building with MySQL.
Original post: http://anothermysqldba.blogspot.com/2013/09/mysql-access-and-replication-blocked-by.html
ERROR 2049 (HY000): Connection using old (pre-4.1.1)
authentication protocol refused (client option 'secure_auth'
enabled)
MySQLデータベースに接続しようとしていて、このエラーが表示された場合、あなたは有効な41byteハッシュパスワードを持っている必要があります。
あなたがわからない場合は、下記のSQLを実行してきた。
あなたは、16文字のパスワードを持っている場合、それらは古いパスワードです。
select Password from mysql.user;
以下は、私はMySQL 5.0からMySQLの5.6への移行の一環として、これを解決する方法です。
MySQL …
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 …[さらに読む]
Original post: http://anothermysqldba.blogspot.com/2013/09/mysql-optimization-tip-threadcachesize.html
最近、私は簡単にPROCESSLISTで300から600行で実行されたMySQLデータベースを検出しました。
最大接続数は、同様に、この量を容易倍以上に設定された。 これは私がただに同意しないことをセットとなりました。
それはまた、非常にうまく動作していない自分自身を証明したので、私が呼ばれた。
だからここは私が発見し、プロセス上の私の思考の一部です。
私の考えでは、使用中のMySQLデータベースの大半は、最大接続または1500以上を必要としません。 …
みんな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 …
過去数年にわたってずっと耳にし続けていて、現在でもよく聞く不満と言えば、Amazon RDSが、MySQLをEC2インスタンスで動かした時と比べて設定の柔軟性がないことだ。と同時に、MySQLインスタンスをチューニングするために非常に重要なパラメータへアクセスできるようにしているという、一貫してAmazonのやってきたことを無視してもいる(所詮、bind_addressをRDSインスタンスで設定することが顧客にとってどの程度関連があるかによる)。
視覚的に見てみよう。
MySQLは、523のオプションを提供している(うち35がNDB関連なのでRDSとは関係ない)。一方で、RDSは(Web …
[さらに読む]