mysql

「日本MySQLユーザ会(MyNA)会 2009冬」で話をしました

ひとつ前のエントリで紹介したイベントで話をしてきました。今回はTritonnやMySQL全文検索のコア技術からは一歩引いた視点で、全文検索が何に役立つのかとか、Tritonnプロジェクトの意義とかを説明させていただいています。MySQL全文検索ことはじめView more…

クエリキャッシュされないSELECT文

MySQLのクエリキャッシュ機能ですが、SELECT文の内容によってはquery_cache_XXX変数の値に依らず無条件に結果がキャッシュされませんよね。ではどんなキーワードを含んでいるとキャッシュされないのでしょうか。sql_yacc.yyとlex.hで確認してみました。 SQL_…

MySQL公式トレーニング日本語化のお知らせ

またまた更新が滞ってしまいました。でも忙しいのは良いことですよね。さて本題。ちょっと宣伝が入っていますが、ぜひお知らせいたしたく。これまで英語のスライドとテキスト(教材)でお届けしていたMySQL公式トレーニングですが(※講義自体は日本語)、なん…

カカクコム社内勉強会に参加

id:kiskeさんにお誘いいただいて先週金曜日にカカクコムさんの社内勉強会でお話させていただきました。貴重な機会をいただきありがとうございました。自由に話してOKですよとのことだったので、何にしようかなと少し考えた結果、こんなスライドができあがり…

MySQL 5.1.30 Linux non-rpm x86版のビルドオプション

mysqlbugより。 CC='ccache /usr/local/gcc-4.3.2/bin/gcc -static-libgcc' \ CFLAGS='-g -O3 -march=i686' \ CXX='ccache /usr/local/gcc-4.3.2/bin/gcc -static-libgcc' \ CXXFLAGS='-g -O3 -march=i686' \ ./configure \ '--prefix=/usr/local/mysql' \ '…

MySQLのシグナル処理解説

概要 main関数→init_signals関数にて設定されます。いろんなシグナルをトラップしています。プラットフォームによっていくつか異なるinit_signals関数実装がありますが、ここではWindowsとLinuxについて説明します。 Windows版でのシグナル処理 sql/mysqld.c…

mysqld エラーログソース解析

日本語版のPlanet MySQLが立ち上がりました。 http://jp.planetmysql.org/ Planet MySQLというのはMySQLに関連するブログを集めたアグリゲーションサイトで、Sun Microsystems(MySQL開発元)が運営しています。英語版は以前からありましたが、今回新しく日本…

Connector/J 5.1とServer Side Prepared Statement

ここ数日「MySQL + Connector/J(JDBCドライバ) + プリペアードステートメント」の話題がちらほら出ています。正確に把握はしていないですがSQLインジェクション対策→PreparedStatementという流れできた話のようです。 徳丸浩の日記 - JavaとMySQLの組み合わ…

MySQL/Tritonn - SELinuxにご注意を(回避方法あり)

いつの頃からかは知りませんが、Linux(CentOSとか)をインストールするとデフォルトでSELinuxが有効(Enfocing)になっていました。GUIインストーラ作業時にDisabledにするか、あるいは/etc/selinux/configでSELINUX=disabledにしておけばいいのですが、そのま…

mysqldにおけるスロークエリログ判定実装

スロークエリログはどのように計測され、出力されているのかをまとめてみました。 測定方法 THDクラスのset_time関数で計測開始、end_time関数で計測終了。 計測開始ポイント mysqld --bootstrapを使用している場合はmysql_parse関数の直前 ネットワーク経由…

MySQL Connector/C++ previewリリース

これまでC++用クライアントAPIとしてはMySQL++というC APIのwrapper型ドライバがありましたが、新たにJDBC 3.0 APIを模倣したC++用クライアントAPIがリリースされるようになるようです。(今日のところはdevelopment preview release)Connector/C++の現在の…

Drizzle Lightweight SQL Database for Cloud and Web

まだ詳細は良く分かっていませんが、Brian Akerが中心となってMySQLのソースからforkしたプロダクト"Drizzle"を立ち上げたようです。MontyのBlogで紹介されていたのを見て気づきました。 http://monty-says.blogspot.com/2008/07/what-if.html Brian自身も記…

MySQLデータベース構築バイブル

共著として執筆に参加させていただいた『MySQLデータベース構築バイブル』が7/19に発売になります。MySQLデータベース構築バイブル作者: 志村和彦,松信嘉範,池田徹郎出版社/メーカー: 毎日コミュニケーションズ発売日: 2008/07/19メディア: 単行本(ソフトカ…

MoSQL ストレージエンジンの開発をはじめました

MySQL日本ユーザ会日本MySQLユーザ会から許可をいただいて"MoSQL"の名前でストレージエンジン開発を始めました。現行のTritonn(MySQL本体+patch+libsenna+libmecab、MyISAM + Senna Index APIベース)をPluggable Storage Engine化したものを目指します。リリ…

Pluggable Storage Engineでは-fno-rttiをつける

いまSkeleton Engineみたいなのを0から独自に作っているのですが、嵌ったのでメモ。C++にはRTTI(Run Time Type Information、実行時型情報)という便利な機能があるそうなのですが、これを有効(G++ではデフォルト)にしたままビルドすると、Pluggable Storage …

Pluggable Storage Engineの --with-mysql の実装

Brianが書いたコードはこんな感じだったのだけど、 AC_MSG_CHECKING(for mysql source code) AC_ARG_WITH(mysql, [[ --with-mysql[=mysql src directory] Source requir to build engine.]], [ if test -d "$withval/sql"; then MYSQL_SRC="$i/mysql_config"…

Yet Another Skeleton Engine を作ってみた (YASE 0.1リリース)

Brianが作った"Skeleton Storage Engine"というのが既に存在するので車輪の再発明なのですが、勉強がてらスクラッチで作ってみました。Yet Another hogehoge ってのに何となく憧れがあっただけだったりもするのですがw一応、BrianのSkeleton Engineよりもコ…

MySQL Cluster 性能検証記事(Diskベース)

今月のDB Magazineに同僚が書いたMySQL Clusterの記事が載っています。DB Magazine (マガジン) 2008年 08月号 [雑誌]出版社/メーカー: 翔泳社発売日: 2008/06/24メディア: 雑誌この商品を含むブログ (3件) を見るMySQL 5.1で新たに導入されたDiskベースのMyS…

DROP EVENT処理概要

MySQL 5.1で追加されたDROP EVENTコマンドの処理内容を説明します。 SQLコマンド DROP EVENTを発行すると内部的にSQLCOM_DROP_EVENTが発行されます。 ディスパッチ先 SQLCOM_DROP_EVENTに対しては、Events::drop_event関数の呼び出しが行われます。 Events::…

editlineマルチバイト不具合の修正

MySQL 5.0.60で--with-libeditでビルドした場合のmysqlクライアントにおけるマルチバイト文字入力不具合が解消されたようです。このChangeSetが取り込まれている模様。 http://mysql.bkbits.net:8080/mysql-5.0/?PAGE=cset&REV=47cd3cd4ZuTuAVELOv-2mljdCeXG…

Visual C++ 2005でmysql.exeをビルドすると日本語表示できないのは

setlocale関数のデフォルトの挙動の影響とのことでした。 308: setlocale(LC_CTYPE, ""); http://bugs.mysql.com/bug.php?id=36279 Thanks to 木村さん!Tritonn Windows版のハードルがこれでひとつ減ったかな。 追記 setlocale呼び出しを削除するパッチがco…

統合パッケージ?

http://java.sun.com/javaee/downloads/index.jspGlassFish+MySQLなパッケージが登場した模様。そういえばMySQL,Inc.にお世話になっていたとき、GlassFishからMySQLを使うためのマニュアルを書いたなぁ(英語版/日本語版)。

春のMySQL祭り

http://jp.sun.com/company/events/mysql/4/9(水)のこのイベントに参加しようかと思います。最近仕事が忙しいのでもしかすると「夜の部」だけの参加になるかもですが。

mysqlslap

こんな感じで計測してみようとおもいます。 mysqlslap --auto-generate-sql --auto-generate-sql-guid-primary \ --commit=5 --engine=innodb --number-int-cols=4 --number-char-cols=8 \ --preserve-schema --protocol=tcp --concurrency=50 \ --auto-gene…

ver4.0系とかver3.23系とか

古いバージョンのMySQLを使うことを推奨する意味はまったくないのですが、何らかの事情でver4.0系とかver3.23系とかのソース/バイナリを入手したいと思った場合、MySQL本家のダウンロードページからは消えていますが、ミラーサイトには残っているので直接ミ…

University

よく見たら神コンテンツだよ。参考にしようっと。 http://forge.mysql.com/wiki/MySQL_University

Sun MicrosystemsがMySQLを買収

ついに買収(売却)が実現となりました。さびしい反面、相手がSunということで少し安心という面もあるかなと感じています。以下、記事とかのまとめリンク(にする予定)。 MySQLの公式アナウンス(英語) Sunの公式アナウンス(英語) かじのすけさん@mixi日記 Su…

my_thread_varについて

ソース中に度々登場するmy_thread_varですが、いつも忘れるのでメモを残しておきます。my_thread_varの定義。include/my_pthread.hにて。 #define my_thread_var (_my_thread_var()) そう、関数呼出のマクロなのです。なのでgdbでptypeしても不明な訳で。_my…

Pluggable Storage Engineのオーバーヘッドとエンジン別性能比較

Pluggable Storage Engineはdynamic linkなのでオーバーヘッドがどれくらいなのか気になって調べることにしました。先に結論を述べておくと、Pluggable化そのものはあまり気にしなくて良さそうです。測定にはこんな感じでmysqlslapを使いました。同時に100個…

mysqldumpによるDDL出力

調べてみました。テーブルのDDL出力は以下ような関数(backtrace)で行っています。 #0 get_table_structure (table=0x8c3c908 "t1", db=0xbfd0f8b8 "test", table_type=0xbfd0ee30 "\v", ignore_flag=0xbfd0ef8b "¿ù\213\t\b") at mysqldump.c:1624 #1 0x0808…