MySQLインストール完全ガイド:快速MySQLでデータベースアプリ!(1)(1/2 ページ)
軽快な動作で知られるGPLなRDBMS、それがMySQLだ。本連載ではMySQLを使って、データベースアプリケーションを構築していく。連載第1回の今回は、MySQLの概要とインストール方法について解説しよう。
MySQLとは?
MySQLは世界的に広く利用されているRDBMSです。その特徴は一言で、“高速であること”と表現できます。それも数世代前のCPU、限られたメモリでも十分動作します。開発当初からマルチスレッドをサポートしており、数千万のレコードを持つデータベースも高速に扱えます。
筆者の会社ではPentium Pro 160MHz、メモリ64MbytesのRed Hat LinuxサーバにMySQLをインストールしていますが、人事管理DBなど社内用のアプリも十分作動しています。もちろん、社内利用に限らず、商用アプリにMySQLが選択されている実績は数限りなくあります。
MySQLは1995年5月、スウェーデンにあるTcX DataKonsalt社のMichael Widenius氏の手により産声を上げて以来、世界中のボランティアの手により現在の形に作り上げられました。その過程の中には日本人の活躍も見られます。とみたまさひろ氏(MySQLユーザ会代表)の作ったマルチバイト文字対応Patchは、現在ではMySQL本体に取り込まれ、Patchを当てることなく日本語に対応できます。
コラム MySQLの名前の謎
“My”は、I、my、me、mineのMyではありません。TcX DataKonsalt社内のプロジェクト名の命名規則に“My”で始めるというルールがあったからともいわれていますし、Widenius氏の娘の名前だともいわれています。Widenius氏本人は、この件に関して明確にどちらとも示唆していません。
こうしたとみた氏の活躍にもかかわらず、MySQLはその名の“My”のためか、ひどく個人的なシステムという印象をぬぐえないという人もいることでしょう。そのことは2001年1月1日に発行された『MySQL徹底入門』(翔泳社)のとみた氏自身のあいさつのくだりにも見受けられます。
フリーのデータベースの代表の1つに“PostgreSQL”があります。PostgreSQLはSRAの石井さんをはじめ、日本PostgreSQLユーザー会の皆さんの手により広く使用されるようになり、今ではさまざまなLinuxディストリビューションに標準で収録されています。
このPostgreSQLに比べ、MySQLの知名度が低いのにはさまざまな原因が考えられます。開発言語ごとの利用方法が日本語で明確に説明されたものが少なかったというのもその1つでしょう。英語と格闘したり、データベースのインストールにつまずいたりなど、アプリケーションの開発以外のことで時間を割かれるのはなるべく避けたいというのは、開発者全員が望むところです。
そこで本連載では、そのことを反省する意味でも、おのおのの開発言語からMySQLを利用することを主眼に説明していきます。特に、昨今のシステム開発はWeb抜きには語れません。CGI(PerlやRuby)やJava、PHPなどの開発言語とMySQLを組み合わせることで、驚くほど高速で手軽なシステムが構築できることを体感していただきたいと思います。
動作環境と互換性
開発に入る前に、まずデータベースの選定としてMySQLがどれだけ優れているか、また何ができないのかを見ていきましょう。
対応プラットフォーム
現時点でサポートされているプラットフォームは次のものになります。
- AIX
- BSDI
- DEC UNIX
- FreeBSD
- HP-UX
- Linux
- Mac OS X Server
- NetBSD
- OpenBSD
- OS/2 Warp
- SGI Irix
- Solaris 2.X(SPARC and x86)
- SunOS 4.x
- SCO OpenServer
- SCO UnixWare
- Tru64 UNIX
- Windows 95/98/2000/NT
UNIX系プラットフォーム以外に、OS/2やWindowsといった非UNIX系プラットフォームにも対応しているのは目を引きます。実際、DelphiやVisual C++など、Windowsプラットフォームを開発環境にしている人には、自身のPCにインストールすることができるため、手っ取り早く構築できるのではないでしょうか。
機能とSQL互換性
このお話の一番初めにMySQLの特徴は“高速であること”と紹介しました。MySQLはその高速性のためにいくつかの機能が意図的に盛り込まれていません。Oracleをはじめとする商用データベースにあってMySQLにない機能は次のとおりです。
- カーソル
- 副問い合わせ
- トランザクション機能(*)
- 結合機能(*)
- トリガ、ストアドプロシージャ
- 複製機能(*)
(*は部分的に取り入れられているが不十分なもの)
以上の機能が必要な場合は、アプリケーション側の方で補うか、MySQL以外のデータベースを採用する必要があります。もちろん、現在もMySQLの開発は続けられています。実際、ストアドプロシージャ、副問い合わせ、トランザクションは実装の準備が進んでいます。
また、ANSI SQL92との互換性の問題など、MySQL独特の特徴については一次配布元であるMySQL ABの
で確認できます。上記の文章をはじめとするドキュメントはMySQLユーザ会のホームページで確認することができます。
の中の「MySQL 日本語化 Document」に互換性について詳しく書かれています。
MySQLのライセンスについて
3.23.19以上のバージョンではGPLライセンスとなり、個人使用や社内利用のような場合にはライセンス料は発生しません。この記事を読んでインストールし、プログラムを作っても課金は発生しません。
ただし、委託を受けて外部にMySQL込みのアプリケーションやシステムを販売する場合やMySQLをインストールしたサーバをASPなどの商用に利用する場合にはライセンス料が発生します。外部から委託を受けたものでも、開発したアプリケーションのソースコードを広く一般に公開すれば課金はまぬがれますが、そうはできない場合もあります。そんな場合はちゃんとライセンスを購入しましょう。日本総代理店のソフトエージェンシー(http://www.softagency.co.jp)で、日本語で購入できます。接続ユーザー数による制限はありません。
ちなみに、ソフトエージェンシーではライセンス以外にもサポートサービスを購入することができます。
Copyright © ITmedia, Inc. All Rights Reserved.