MySQL

Ruby/MySQL

最近 Rails でプログラム作ったりしてるのですが、Ruby/MySQL が Rails で使えないことがわかったので、1年以上放置していた Ruby/MySQL をいじって使えるようにしてみました。Ruby/MySQL というのは Ruby スクリプトから MySQL を使用するためのライブラリ…

mysqldump --single-transaction に --flush-logs をつけてはいけない

(いまだに時々ブクマされていたりしますが、これはバグで MySQL 5.5.21 以降では修正されています。)mysqldump は MySQL のデータのバックアップを取得するコマンドです。mysqldump に --single-transaction を指定すると一貫性を保持したバックアップを取得…

MySQL最新ロードマップセミナー2011

MySQL最新ロードマップセミナー2011 に行ってきました。講師は肩書き長すぎな 梶山さんでした。 「お客様講演」は都合がつかずに中止でした。残念。 以下適当なメモです。嘘書いてあるかもしれません。 MySQL State of The Dolphin Oracle は MySQL に対して…

UTF-8 のサニタイズ

UTF-8 文字列中に UTF-8 として正しくないコードが入っていた場合に、その文字を「?」などに置き換えたいことがあります。たとえば MySQL に登録するときは不正な文字を消しとかないと、その文字以降すべて消えてしまいます。 mysql> insert into t (c) valu…

NSEG 14 - MySQLの文字コード

NSEG14 に参加しました。はじめはそのつもりはなかったんですが、枠が空いてたので発表することにしました。急遽決めたので、当日の15時すぎまでスライド作ってました。今回は、つい最近 MySQL の文字コードまわりでハマったので、それをネタにしてみました…

MySQL 5.5 の unicode collation で同一視される文字

MySQL の collation について調べてたら、 今回の実験で、utf8_unicode_ciによる大文字-小文字や全角-半角の同一視に関する動作はなんとなく分かりましたが、どの文字が同一視されるのかを記載した資料ってあるのだろうか? http://d.hatena.ne.jp/end0tknr/2…

MySQL5.5 に groongaストレージエンジン入れてみた

groongaストレージエンジンは現在 MySQL 5.1 にしか対応してないようですが、MySQL 5.5.6-rc に入れてみました。環境は CentOS 5.5 x86_64 です。用意するもの groonga のソース: goonga-1.0.2.tar.gz http://groonga.org/download/ より groongaストレージ…

MySQL/Ruby 2.8.2

MySQL/Ruby にバグがあったので 2.8.2 をリリースしました。ダウンロードはこの辺から→ http://rubyforge.org/projects/mysql-ruby/Mysql#insert_id が 32bit を超える場合に不正な値を返すというものです。具体的には BIGINT AUTO_INCREMENT の場合に、自動…

Ruby/MySQL 2.9

Ruby から MySQL を使うための pure Ruby ライブラリ Ruby/MySQL 2.9 を公開しました。まだベータ版です。 http://github.com/tmtm/ruby-mysql/tree/2.9前の Ruby/MySQL は 0.2.6 だったのですが、今回 2.9 とした理由は: Cライブラリ版の MySQL/Ruby 2.8.x …

MySQLユーザー会会2009冬

MySQLユーザー会会2009冬に参加。 16時前に長野の会社を出て、19時前に六本木のGREEに到着。19時に始まるはずだった池田さんのセッションだったんだけど、プロジェクタに出力できないというトラブルが発生。 事情によりUSBが使えないPCなので、他のPCにデー…

Ruby/MySQL 3.0.2 alpha

Ruby/MySQL 3.0.2 です。相変わらずアルファ版です。 インストール方法: # sudo gem install tmtm-ruby-mysql --source http://gems.github.com 3.0.1 からの変更点。 Ruby 1.9 対応 これまでのでもちゃんと動くんじゃないかなぁ…と漠然と思っていたのですが…

Ruby/MySQL 3.0.1 alpha

Ruby/MySQL 3.0.1 を作りました。相変わらずアルファ版です。インストールは次のように。 # sudo gem install tmtm-ruby-mysql --source http://gems.github.com3.0.0 からの変更点 Mysql#query で勝手にプリペアドステートメントを使うのをやめました。いろ…

table_cache, max_connections, open_files_limit の関係

昔はマニュアルに書いてあったような気がしたけど、最近のマニュアルには見当たらないのでメモ。mysqld が同時に使用可能なファイル数は open_files_limit というパラメータで指定します。ただし、mysqld は最低でも table_cache*2+max_connections+10 --- (…

Ruby/MySQL 3.0.0 alpha

github に Ruby/MySQL 3.0.0 を置きました。git にも gem にも慣れてないので試行錯誤でしたが、なんとか置けたようです。github は gemspec を置いておけば自動的に gem を作ってくれるはずなのですが、罠に嵌まってもがいてました。 GitHub では *.gemspec…

MySQL 5.1 InnoDB が遅い

Rubyist Magazine 25号が出ました。Ruby 1.9.1 についての有用な記事が盛りだくさんです。「Ruby 1.9 で Web アプリを想定したベンチマークをとってみた」は「言語の速度がそのままアプリケーションの速度になるわけではない」ということについて、実際にベ…

MySQL/Ruby 2.8.1

Ruby 1.9.1 がリリースされました。が、MySQL/Ruby は 1.9 に対応してませんでした。気づいてませんでした… orz。とりあえず、Ruby 1.9.1 でもコンパイルと簡単なテストを通るようにしてみたものを、MySQL/Ruby 2.8.1 としてリリースしました。ダウンロード…