MySQL

さくらインターネットで、MySQLを使うときに気をつけたいこと

スタンダードプランだとInnoDBストレージがが使えない。これにはちょっと驚いたけど、FAQに書いてありました。 http://faq.sakura.ad.jp/faq/1032/app/servlet/qadoc?000526MyISAMだとテーブルロックなので、更新と参照のバランスよっては 問題になる可能性…

MySQLの書き順による、カラムの処理順序

MySQL系で以下の update文を実行して驚いた!table xxxxx pkey col1 col2 1 aaaaa ccccc 上記のようなテーブルにデータがある場合に以下のSQLを実行すると update xxxxx set col2 = col1 ,col1 = 'bbbbb' where pkey = 1 ; 以下のように更新される pkey col1…

MySQL の Out of memoryで悩む

mysql で、最近たまにエラーログに以下のような Out of memory が出ていた。 サーバは、メモリーを 6G 積んでるので Out of memory ってのが そんなに簡単にでるとは思ってなかったので困惑してしまった。 (半年前までは、1G で、増強したばっかりだったの…

slow.log のlogrotate

slow.logは、自動的にlogroteしてくれないので、Cronで自前でやることにする。 #!/bin/shDATE=`date %Y%m%d` mv /var/lib/mysql/slow.log /var/log/slow.$DATE.logmysqladmin flush-logs (必要に応じてオプションをつける -u -h .... ) 上記を 適当なファイ…

MySQL パフォーマンス

my.cnf skip-name-resolve 接続元のIPアドレスから逆引きの名前解決をOFFにする。 アプリケーションからMySQLに接続する際に 接続プールをしていない場合は、結構な効果があるとおもう。

レプリケーションのスレーブオプション

特定のテーブルのみレプリケーションしたい場合の設定は、 my.cnf に記述してmysqlを再起動する [mysqld] replicate-do-table=dbname.tablename1 replicate-do-table=dbname.tablename2 replicate-do-table=dbname.tablename3 複数指定する場合は、そのテー…

Senna クエリー

全文検索 FullText MySQL + Senna = Tritton を利用したときのメモ http://qwik.jp/tritonn/SQLのレシピが少ないので、自分で試したものを記述する。 条件を複数指定する場合は、*X*Y*Z とくっつけて記述すればよいことは どこにも書いてなかった(見つけれ…

レプリケーション時のエラースキップ

MySQLのレプリケーションで、稼動中のマスターDBからスレーブDBに データをコピーし、レプリケーションを開始したところ ところどころで、error 1060 プライマリーキーの重複などのエラーがでました。最初は、 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1; START S…