目次
[さらに読む]
この MySQL ベンチマーク
シリーズはMySQL-Benchmarkタグから一覧できます。
最初の方で環境構築をしていて、その環境で実験しています。
前回1Gbのネットワーク帯域がボトルネックになってしまうことがわかったので、10Gbの環境を作っていく
導入機器
コンシューマ向け(?)の …
[さらに読む]tmtms.hatenablog.com の続き。
C API だと ORDER BY ?
のプリペアドステートメントでクライアントがフリーズするというのを書いたんだけど、Go だと問題ない という話があったので、MySQL のプロトコルを追ってみた。
プリペアドステートメントを発行すると通常は次のようにパケットが流れる。
=> COM_STMT_PREPARE "SELECT ?,?,? FROM tbl" <= ステートメントID, 結果セットのカラム数(3), プレースホルダの数(3) <= 謎パケット <= 謎パケット <= 謎パケット <= EOF パケット
…
[さらに読む]MySQL では、パスワードのハッシュ値を指定してユーザを作ることが出来ます。
mysql> SELECT authentication_string FROM mysql.user WHERE User = 'usr'; +-------------------------------------------+ | authentication_string | +-------------------------------------------+ | *9DE95B4999920AF052A4DC2BC3D229D4E9D1B676 | +-------------------------------------------+ 1 row in set (0.00 sec)
mysql> CREATE USER usr@'localhost' IDENTIFIED BY PASSWORD '*9DE95B4999920AF052A4DC2BC3D229D4E9D1B676'; Query OK, 0 rows affected, 1 warning (0.00 sec)
この方法は複数のデータベースに同一のパスワードでユーザを作成する時に便利です。
…
[さらに読む]
某所で CentOS 7 で mysql コマンドで日本語入力ができないという話を見かけた。
mysql>
プロンプトで日本語を入力しようとしても確定すると消えてしまうらしい。 自分は
Ubuntu で普通に入力できてるので調べてみた。
結論からいうと、これはロケールの問題で locale -a
コマンドの出力中に
ja_JP.utf8
があって、ロケール(環境変数 LC_ALL
,
LC_CTYPE
, LANG
等の値)が
ja_JP.UTF-8
になっていれば問題ない。
もう一つ。CentOS 7 で絵文字を入力すると、絵文字ではなく \U+1F37A
みたいに表示される。表示だけの問題なので動作上は問題ない。
これは OS の glibc のバージョンの問題ぽいので CentOS 7 ではどうしようもなさそう。
以下調査内容。 …
[さらに読む]