BLOGTIMES
» ArchiveList
Home (Tag for "mysql")
«Prev || 1 · 2 · | Next»
2010/01/05
[ by hsur at 21:59]

米OracleのMySQL買収に対する反対署名

 

OracleがInnoDBを買収した時にも一悶着あったと記憶していますが、今回のSun Microsystems買収に関してもMySQL側から反対署名運動が展開されているようです。呼びかけの中心になっているのはMySQLの設立者Monty Widenius氏のようですが、この方はMySQLのプロジェクトをフォークしてMariaDBを作ったりしているようなので、すっかり泥仕合の様相ですね。

米OracleのMySQL買収に反対する「Save MySQL」キャンペーン、1万8000人が署名 - SourceForge.JP Magazine

Save MySQLはMySQLを救うための3つの解決策を提案しており、1万8000人の署名者の93.5%が「MySQLが今後もGPLの下で開発されるために、適切なサードパーティに移管すべき」に投票している。残りの2つは、「OracleはApache Software License 2.0などの制限の緩いライセンスで過去と将来のMySQLを公開すべき」(60%)、「MySQLはGPLで公開を続け、Oracleは、クライアントライブラリでMySQLを利用するアプリケーション、それにプラグインとlibmysqld向けにリンク例外を約束すべき」(58.8%)となっている。
署名者を地理別に見ると、半数が欧州連合加盟国および欧州で約22%が米国、中国が1.7%で日本は0.9%。

日本語の署名は「MySQLを救え! 顧客にツケが回ってくる」からできるようです。一介のユーザーとしてはこういう権利関係のゴタゴタがなくなってくれることがオープンソースのプロダクトとしてはありがたいのですが。

Category: IT | | Comment(0) | TrackBack(0) | Permalink |
2008/11/30
[ by hsur at 23:57]

MySQL 5.1 がProductionに

 

MySQL 5.1系がGAになっていました。そういえば同じようなことを5.0系の時にも書いたと思って調べてみたら、もう3年も前の話で少し驚きました。自分が使い始めた頃のMySQLは他のDBMSより圧倒的に機能が少ない代物でしたが、5.1の新機能を眺めているとそれが嘘のようです。

MLog: [mysql 14702] MySQL 5.1.30 GA リリース

MySQL 5.1 provides a number of new enhancements including:
- Table and index partitioning
- Row-based and mixed replication
- Built-in job scheduler
- Improved XML handling with XPath support
- New SQL diagnostic aids and performance utilities
- The return of the embedded library (libmysqld)

srpmを単純に"rpmbuild --rebuild"でリビルドしてアップデートしてみました。

5.1.22からのアップデートでしたが、これまでも特にバグに当たることもなかったので、特に変わった感じはなく、Nucleusの動作にも特に影響はないようです。ただ、前回のアップデートの時はアルゴリズムの変更で痛い目にあったので、数日は動作を注視しておきたいと思います。

Category: Software | | Comment(0) | TrackBack(0) | Permalink |
2008/06/30
[ by hsur at 16:03]

MySQLで2つ以上のカラムの組み合わせが重複するレコードを削除したい

 

MySQLで複合プライマリキーを使っているような場合に、id1とid2の組み合わせが重複するレコードを削除したい時のサブクエリの書き方が分からなくてちょっとはまってしまったのでメモ。

MySQL :: MySQL 5.1 リファレンスマニュアル :: 12.2.8.5 行サブクエリ

行コンストラクタは通常、2つ以上のカラムを返すサブクエリを持つ比較に対して利用します。例えば、次のクエリは要求に答え、「テーブル t2 にも存在する テーブル t1 内の全ての行を検出します。」

SELECT column1,column2,column3
FROM t1
WHERE (column1,column2,column3) IN
(SELECT column1,column2,column3 FROM t2);

これまではどうしても必要な時にはCONCAT(column1, column2)とかで無理やり1つのカラムにまとめてやってしまっていたので、indexが効かずにものすごく時間がかかって困っていましたが、意外と単純な方法で実行できるんですね。ちゃんとマニュアルに記載されていて、行コンストラクタという名前がついているとは思いませんでした。

Category: Tips | | Comment(0) | TrackBack(0) | Permalink |
2008/01/27
[ by hsur at 20:49]

MySQLのオプティマイザが少し変わったらしい

 

MySQLを5.1.16から5.1.22にアップデートしてみたら、どうやらオプティマイザのアルゴリズムが変わったらしくページの表示が激遅になってしまいました。もともとMySQLのアップデートはPHP5にするついでだったのですが、そのままではちょっと困るのでまずはこちらの問題から片付けることにしました。

例によってスロークエリのログをとってみると、下記のようなSQLが引っかかってきました。

SELECT query_phrase, item_id, ititle, host, engine, timestamp
FROM nucleus_plugin_searched_phrase_history h
LEFT JOIN nucleus_item i
ON h.item_id=i.inumber
ORDER BY timestamp DESC
LIMIT 0, 10;

どうやら、このクエリ1つの実行に3秒近く費やしているようです。

 [続きを読む...]
Category: Tips | | Comment(0) | TrackBack(0) | Permalink |
2006/09/22
[ by hsur at 21:03]

WindowsにApacheとPHPを一括インストール

 

これまでローカルのPHP開発環境はすべてのサーバ用ソフトウェア(Apache, PHP, MySQLなど)を個別にインストールしていたんですが、今回、開発環境を再構築するにあたってこれらが1つのパッケージになったものを使ってみました。結論から言えば、ひとつひとつソフトウェアをセットアップしていくよりも格段に楽でした。

いちおう有名どころとしては、XAMPPAppServがあります。どちらも似たようなものですが、微妙な違いがあるようなので、これらを軽く触ってみて僕はXAMPPでインストールしました。

 [続きを読む...]
Category: Tips | / / | Comment(1) | TrackBack(0) | Permalink |
2006/08/01
[ by hsur at 23:39]

MySQLの正規表現で日本語を使えるようにする

 

MySQLはlikeなどでは日本語がきちんと扱えるにもかかわらず、REGEXPだけは日本語が正しく扱えません

昔、日本語が扱えないことを知らずにREGEXPを使ってしまい、かなりはまった記憶があります。そのときに「誰かOnigurumaあたりをMySQLに組み込んでくれないかな~」ということがふと頭をよぎったんですが、納期が近かったのでろくに調べもしないでそのままになっていました。やっぱり同じことを考える人がりんですね、mregexpというそのものずばりのプロダクトがあることが最近わかりました。

 [続きを読む...]
Category: Software | | Comment(0) | TrackBack(0) | Permalink |
2006/02/02
[ by hsur at 22:32]

NP_Trackbackは重い?

 

NP_Trackbackが重いといわれてしまったので、トラックバックが格納されているplugin_tbテーブルをちょっと調べてみたら、驚くべきことにまったくインデックスが張られていませんでした

例えば、トップページなんかでTrackBack(nn)のようにエントリごとにトラックバックの件数表示なんかをやってしまったりすると、この数字一つ一つを計算するためにMySQLは一回一回テーブルをフルスキャンをするというなんとも恐ろしい状況になっていたわけです。これはトラックバックをたくさん抱えている人にとっては大変なサーバの負荷になります。

ということでインデックスを張るには

おそらく単にインデックスを張ればすむ問題だと思うので、コンソールやphpMyAdminを通じてSQLが直に打てる場合には以下のクエリを実行することでこの状況を回避することができます。

インデックス作成SQL

ALTER TABLE `nucleus_plugin_tb` ADD INDEX `tb_id_block_timestamp_idx` ( `tb_id`, `block`, `timestamp` DESC );

SQLを打つのが面倒な場合には、プラグインのバージョンアップで

これだけではあまりにも不親切なので、SQLが直に打てない人のためにフォーラムやうちのサイトで公開中のNP_Trackbackをバージョンアップしておきました。ファイル上書きの後、プラグインを一旦アンインストールし、再度インストールすることでインデックスの生成が行われるようになっています。NP_Trackback 2.01jpを使っている方にはバージョンアップを強くお勧めします。

 [続きを読む...]
Category: Nucleus Tips | / | Comment(0) | TrackBack(default) | Permalink |
2005/10/26
[ by hsur at 23:34]

MySQL 5.0にupdateできず

 

早速MySQL 5.0.15にアップデートしようとしたんですが、結論から言うと今回のところは断念することにしました。移行自体はRPMを使ってupdateだったので特に難しいということはありませんでした。

これまでに作ったテーブルはすべてMyISAM形式なので移行に際して特に手順が必要なこともなく、すんなりmysqldは起動させることはできました。次にhttpdを立ち上げようとしたら、libmysqlclient.so.14がないといわれて起動できなかったので、PHPをリコンパイル。これでhttpdも起動することができました。

 [続きを読む...]
Category: Software | | Comment(0) | TrackBack(0) | Permalink |
2005/10/25
[ by hsur at 03:39]

MySQL 5.0 がProductionに

 

MySQLの5.0のProduction(正式版)が公開になりました。4→5になっただけあって、4.0→4.1とは比べ物にならないくらい機能追加がありますね。とりあえずどんな感じなのかとか、Nucleusを動かすことができるのかとか、いろいろ気になることが多いので、週末にでも早速移行作業をしてみようかと思います。

で、新機能はこんな感じ。

MySQL AB :: MySQL 5.0 Now Available for Production Use

・Stored Procedures and SQL Functions
・Triggers
・Views
・Cursors
・Information Schema
・XA Distributed Transactions
・SQL Mode
・New Federated and Archive Storage Engines
・New Migration Toolkit
・Instance Manager
・Updated Connectors and Visual Tools

いつのまにかXAなんかがサポートされてたりするんですね。昔、OracleとかIBM MQを使ったDTP*1を少しやっていたことがあったので、このあたりはちょっと興味あるかも。時間があったらこの辺でちょっと遊んでみたいです。

  • *1: 印刷業ではないです。Distributed Transaction Processing : 分散トランザクション処理のこと。
Category: Software | | Comment(0) | TrackBack(0) | Permalink |
2005/01/28
[ by hsur at 22:55]

MySQLが踏み台に

 

MySQLを踏み台にするワームが出現したようです。自前の辞書でMySQLのrootを乗っ取とって感染を広げるタイプのようなので、安易なパスワードでなければ大丈夫みたいですね。

MySQLを標的にするワームが出現--米セキュリティ組織が警告 - CNET Japan

ワームの標的はMicrosoft Windowsオペレーティングシステム(OS)と、オープンソースデータベースのMySQLが稼動するコンピュータだという。

MySQLがインストールしてある全てのサーバに感染するのかと早とちりして、少し焦ったりしていたのですが、Windows+MySQLだけにしか感染しないようです。

 [続きを読む...]
Category: Security | | Comment(0) | TrackBack(0) | Permalink |
«Prev || 1 · 2 · | Next»
» ArchiveList
Home (Tag for "mysql")