Community journal

The latest from the MySQL community

Ideas, releases, practical guides, and perspectives from the people building with MySQL.

Follow the feed
Showing entries 1791 to 1800 of 3187 « Previous | Next »
知られざるinnodb_flush_methodの値

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
⇒ …

[さらに読む]
secure_authによってブロックされた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 …

[さらに読む]
MySQLのView, Stored Procedureのセキュリティ設定、デフォルトはDEFINER

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-*-dbが判定するのは原則カレントデータベース

--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 …
[さらに読む]
MySQLの最適化ヒント - thread_cache_size

Original post: http://anothermysqldba.blogspot.com/2013/09/mysql-optimization-tip-threadcachesize.html

最近、私は簡単にPROCESSLISTで300から600行で実行されたMySQLデータベースを検出しました。 最大接続数は、同様に、この量を容易倍以上に設定された。 これは私がただに同意しないことをセットとなりました。 それはまた、非常にうまく動作していない自分自身を証明したので、私が呼ばれた。 だからここは私が発見し、プロセス上の私の思考の一部です。

私の考えでは、使用中のMySQLデータベースの大半は、最大接続または1500以上を必要としません。 …

[さらに読む]
mysqladmin.ccのコードリーディングのさわり

みんな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の小ネタ

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 …
[さらに読む]
MySQL Clusterのmod_ndbが色々残念

本家の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 …
[さらに読む]
MySQLをWindowsサービスとして動かしている時のコマンドラインオプションとか

特にMySQL Installerや.msiで突っ込んだとき。

ファイル名を指定して実行
↓
services.msc
↓
名前= MySQL

  • --installで自分で登録した時はそのサービス名
  • MySQL5.6のInstallerからはMySQL56ってサービス名にしようとする?


↓
プロパティ
↓
実行ファイルのパスに実際に渡されている引数が見える


こんなかんじで。


懐かしい。。

MySQL 5.6とAmazon RDSの設定の違い

過去数年にわたってずっと耳にし続けていて、現在でもよく聞く不満と言えば、Amazon RDSが、MySQLをEC2インスタンスで動かした時と比べて設定の柔軟性がないことだ。と同時に、MySQLインスタンスをチューニングするために非常に重要なパラメータへアクセスできるようにしているという、一貫してAmazonのやってきたことを無視してもいる(所詮、bind_addressをRDSインスタンスで設定することが顧客にとってどの程度関連があるかによる)。

視覚的に見てみよう。

MySQLは、523のオプションを提供している(うち35がNDB関連なのでRDSとは関係ない)。一方で、RDSは(Web …

[さらに読む]