タグ

ブックマーク / yoku0825.blogspot.com (26)

  • mysqlbinlogでバイナリログをバックアップするとか

    mysqlbinlogは今まで(バックアップ用途で)リモートからバイナリログを読ませようとしても、 ・SQLテキスト形式にエンコードした後のものを出力させるだけ。 ・その時点の最後のエントリまでしか読み込めない。 ・出力先ファイル名は1つしか指定できないので、 読み込み元のバイナリログが複数でも出力は1つ。 だったのが、5.6のmysqlbinlogでは ・エンコードする前の状態のまま書き出せる。 ・tail -fぽく待機して、更新があれば続けて書き出せる。 ・ファイル名はマスターのものと同じものにできる。 スイッチしたらmysqlbinlog側のファイル名も変わる。 と、スレーブに--log-slave-updatesを付けた様な動作が出来る様になった。 バックグラウンドにして常駐させておけば、暇そうなサーバにバイナリログをリアルタイムにバックアップ出来る。 マスターから見るとレプリケー

  • MySQL5.6.8ではInnoDBログファイルサイズの変更がお手軽に

    今まではinnodb_log_file_sizeを変えると テーブルスペースとログファイル両方の再作成が必要だったのが、すごくお手軽な感じになっていた! 121109 10:39:01 [Warning] InnoDB: Resizing redo log from 2*8192 to 2*16384 pages, LSN=1626134 121109 10:39:01 [Warning] InnoDB: Starting to delete and rewrite log files. 121109 10:39:01 [Note] InnoDB: Setting log file ./ib_logfile101 size to 256 MB InnoDB: Progress in MB: 100 200 121109 10:39:02 [Note] InnoDB: Setting log

  • MySQL 5.6.9のmysqlクライアントがujis, sjis, cp932で落ちる(5.6.12で修正)

    MySQL 5.6.9のmysqlクライアントがujis, sjis, cp932で落ちる(5.6.12で修正) たまたまujisで試したいことがあってログインしたらいきなり落ちました。。 $ mysql56 --default-character-set=ujis Welcome to the MySQL monitor.  Commands end with ; or \g. Your MySQL connection id is 4 Server version: 5.6.9-rc-log Source distribution Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporati

  • mysqldumpの--flush-logsオプション

    mysqldumpの--flush-logsオプション、mysqldumpを取ると同時にFLUSH LOGSしてくれるので、 バイナリログの管理が便利になったりするあのオプション。 ドキュメントには、 `--master-dataまたは--lock-all-tablesを一緒につけないと、複数データベースをダンプする時に 各データベースのダンプごとにFLUSH LOGSするよ!' とか書いてあるんだけど、一向に手元で再現しなかったのでソースを読んでみた。 結論、5.5.21以降(5.6も)では、--flush-logs --single-transactionならFLUSH LOGSは1回だけしか実行されない。 5.5.20以前(5.1も)では、--flush-logs --single-transactionではデータベースごとにFLUSH LOGSされる。 5.5.21以降のclien

    studio3104
    studio3104 2012/11/22
    ネタ提供しちゃいました! Nice post!!
  • my.cnfのパラメータ優先順位

    複数のmy.cnfがデフォルトで読み込まれるパスに置いてあったり、 中で!includeしたり、直接オプションを渡したりしたとき。 同じパラメータが指定されている場合は、常に後勝ち(後から設定された方で上書き)です。 Linux系のMySQLでは、 /etc/my.cnf -> /etc/mysql/my.cnf -> SYSCONFDIR/my.cnf -> $MYSQL_HOME/my.cnf -> defaults-extra-fileで指定されたファイル -> $HOME/.my.cnf -> 直接渡したオプション の順番で読み込まれる。 優先順位で考えると、後勝ちなので後ろが一番強い。 SYSCONFDIRはcmakeのオプションで指定するものの、デフォルトは/usr/local/mysql/etcになっていた(5.6.8-rcのsource) $MYSQL_HOMEは、mysq

  • MySQL5.6 .mylogin.cnfで遊んでみる

    What's newの頭に書かれているのに誰もやってなさそうなので遊んでみる。 遊んでみるとは言っても、$HOME/.my.cnfにuser=/password=で書くのとやってることは変わらない。 今まで平文で書くのが嫌で特にやってなかったけど、これならやっても良いかなーという風情。 http://dev.mysql.com/doc/refman/5.6/en/mysql-config-editor.htmlmysql_config_editor set --user=tpcc --password Enter password: <パスワード手入力> $ mysql_config_editor print --all [client] user = tpcc password = ***** とまあこの通り記録される。 何も指定しないとclientセクションに記録されるけれど、セ