2009-01-01から1年間の記事一覧

DBD::drizzleでMySQLに接続してみる

DrizzleのクライアントをCentOS 5.3に入れてPerl DBIでMySQL 5.1につないでみた日記。Drizzleって何?って方はIntroducing the Drizzle Projectをご覧ください。 Drizzle Client & Protocol LibraryからDownloadsと書いてあるリンクをたどって、libdrizzle-0…

MySQLのバグ曲線

先日ふとMySQLの品質を確認する方法はないだろうかと考えて、試しにリリースノートの情報をもとにバグ曲線を描いてみました。ソフトウェアの信頼度成長曲線とかゴンペルツ曲線などとも呼ばれているものです。 対象はMySQL 5.0.0〜5.0.27、5.0.28〜5.0.82(Ent…

MySQL 5.1.35リリース

出ました。5.1.35では47個の不具合が修正されています。 今回は3行クラッシャー、Bug#44151のご紹介です。 mysql> use information_schema Reading table information for completion of table and column names You can turn off this feature to get a qui…

perl-DBD-MySQL 3.0007-2.el5でハマった件

Perl DBIのプログラムを書いていて、CentOS 5.3付属のDBD::mysqlをそのまま使ったら困ったという話です。 再現ケース 動く例です。 $sth = $dbh->prepare_cached('select ename from emp where empno = ?'); $sth->bind_param(1, 7788, SQL_INTEGER); $sth->…

MySQL Connector/Jにおける大量INSERTのチューニング

ピンポイントチューニング講座です。まずは結果から。 このグラフは、以下のテーブルに50,000レコードINSERTしたときの処理時間を示したものです。性能に70倍以上もの差が出ているのはなぜか、見ていきたいと思います。 CREATE TABLE `loadtest` ( `id` int(…

MySQL用のSCOTTデータベース

Oracleを触ったことのある人は、一度はSCOTTスキーマのEMPテーブル、DEPTテーブルを見たことがあると思います。それぞれ14レコード、4レコードしかないのにSQLの基礎を学ぶための要素がいろいろ詰まっていて、とても便利なスキーマです。 というわけでMySQL…

Oracle OpenWorldで見てきた業務用SSD製品まとめ

SSDがマイブームです。先月自宅のPCにX25-Mを導入したばかりですが、気づいたら2台に増えていました。これはとても危険ですね(財布的に)。 先月のエントリで検証したように、上位のSSDはデータベースに使ってもやはり抜群の性能を見せます。この超高性能をぜ…

Sunを買収したのはOracle

うはー 最近オラクルの営業さんと疎遠になってるなあ、明日メール入れとこう…。 JRockit持ってるのにSun Java VM使うの? Exadataでhpと協業してるのにSunのサーバ使うの? Oracle Database持ってるのに(以下略 /) ///) /,.=゙''"/ / i f ,.r='"-‐'…

MySQL 5.1.34リリース

MySQL 5.1.34がリリースされました。今回は25個の不具合が修正されています。 本日はmysqlクライアント側のバグをご紹介します。Bug#43254です。 mysql> set sql_select_limit = 0; Query OK, 0 rows affected (0.00 sec) mysql> use mysql セグメンテーショ…

MySQL 5.1のmysqldumpslowで快速チューニング

MySQL 5.1のmysqldumpslowを使うとチューニングが楽になる!という話題です。 mysqldumpslowはもともとMySQLに付属しているツールで、スロークエリログを集計してくれるものです。これ自体はMySQL 5.1で特に変わったところはありませんが、スロークエリログ…

MySQLで意図的にエラーログを出す方法

logrotateなどの設定をしていて、動作確認したいなあと思ったときのTIPSです。 $ mysqladmin -u root debugこんなログが出ます。 Status information: Current dir: /var/lib/mysql/ Running threads: 1 Stack size: 196608 Current locks: lock: 0xa735d38:…

MySQL 5.1.33リリース

MySQL Enterprise Serverの5.1.33がリリースされました。Community Serverもほどなくリリースされると思います(2009/04/02追記 リリースされました)。5.1.33には59個のバグフィックスと、3個の仕様変更があります。 今回は10行でサーバを落とすバグのご紹介…

MySQLのベンチマークを用いたIntel X25-M SSDの評価

X25-M、SSDで検索してくる方が非常に多いので、本ブログ内のSSD関連記事をリストしておきます。 MySQLのベンチマークを用いたIntel X25-M SSDの評価 (本記事) SSDの真の性能を引き出す MySQL 5.1.38 InnoDB Plugin (2009/09/07) 先週末IntelのSSD、X25-Mが突…

IBMがSun Microsystemsを買収か

米IBM、サン・マイクロシステムズ買収で交渉 製品ラインかぶりまくりのような。Javaが欲しいのかな?

MySQL 5.1が使えるレンタルサーバ

MySQLの最も多い利用ケースは、レンタルサーバに入っているものをそのまま使うというものだと思います。そこで、国内でMySQL 5.1に対応しているレンタルサーバを調べてみました。ここでは最初からインストール済みのものを対象とします。 さくらインターネッ…

MySQL 5.1.32リリース

MySQL 5.1.32でました。といってもCommunity Serverは本日時点でまだのようで、リリースを確認したのは有償のEnterprise Serverの方です。(2009/03/05追記 Community Serverもリリースされました) MySQL 5.1.32のリリースノートを確認すると、今回は約40個の…

Connector/JのSQLインジェクション脆弱性 つづき

以前のエントリで紹介したMySQLのJDBCドライバConnector/J 5.1.7のSQLインジェクション脆弱性ですが、ようやくパッチができたようです。 public void setString(int parameterIndex, String x) throws SQLException { … for (int i = 0; i < stringLength; +…

tpcc-mysqlによるMySQLのベンチマーク

データベースに対する負荷ツール、ベンチマークツールは世の中にたくさんあるのですが、単一テーブルに対する主キー検索しかしないものなど、CPUクロック勝負の比較的単純なものが多くを占めているようです。そこで本日は、もう少し高度なベンチマーク仕様と…

MySQL 5.1.31リリース、Montyが独立

MySQL 5.1.31出ました。今回はなんと100個以上のバグが修正されています。読むだけでも大変な上に結構痛いバグがたくさんあるようですので、5.1.30を早速使っているチャレンジャーな方はすぐにアップグレードすることをおすすめします。GAでいよいよ大勢の顧…

MySQL InnoDBのネクストキーロック おさらい

MySQLのInnoDBストレージエンジンは行ロックをサポートしています。しかしOracleと同じ感覚でアプリケーションを作っていると、思わぬところでデッドロックに出くわすことがあります。これはInnoDBのロック範囲がOracleよりも微妙に広いためです。 実際の例…

phpMyAdmin 3のパーティショニング機能サポート

phpMyAdminのChangeLogに 3.0.0.0 (2008-09-27) [table] support MySQL 5.1 PARTITION: CREATE TABLE / Table structure, partition maintenance とあったので、確認してみました。確認したバージョンは3.1.1です。 パーティション定義は直接SQLを書かなけれ…