この項では MySQL Community Server が動作するオペレーティングシステムを取り上げます。
米国 Sun Microsystems, Inc. ではこの節で取り上げるすべてのオペテーティングシステムに公式のサポートは提供していません。公式にサポートされているプラットフォームについては、MySQL の Web サイトで MySQL Server Supported Platforms を参照してください。
弊社では GNU Autoconf を使用していますので、C++ のコンパイラを実装した最新のシステムに MySQL をポートして POSIX スレッドを実装できます。(スレッドのサポートがサーバーに必要です。クライアントコードのみをコンパイル摩る場合には、C++ コンパイラーのみが必要です)。
MySQL は以下のオペレーティングシステムとスレッドパッケージの組み合わせでのコンパイルでよい結果が出ています。
AIX 4.x、5.x とネイティブスレッド。詳しくは項2.13.5.3. 「IBM-AIX に関する注釈」を参照してください。AIX 5.3 は、テクノロジレベル 7 (5300-07) にアップグレードするようにしてください。
Amiga。
FreeBSD 5.x 以降とネイティブスレッド。
HP-UX 11.x とネイティブスレッド。項2.13.5.2. 「HP-UX バージョン 11.x に関する注釈」 を参照してください。
最近のすべての Linux 配布上の Linux ビルドと
glibc
2.3。項2.13.1. 「Linux の注釈」 を参照してください。
Mac OS X. 項2.13.2. 「Mac OS X に関する注釈」 参照。
NetBSD 1.3/1.4 Intel および NetBSD 1.3 Alpha。項2.13.4.2. 「NetBSD に関する注釈」 を参照してください。
Novell NetWare 6.0 および 6.5。項2.8. 「MySQL を NetWare にインストールする」 を参照してください。
OpenBSD 2.5 およびネイティブスレッド付き。2.5 より前の OpenBSD と MIT-pthreads パッケージ。項2.13.4.3. 「OpenBSD 2.5 に関する注釈」 を参照してください。
SCO OpenServer 5.0.X と FSU Pthreads パッケージの最近のポート。項2.13.5.8. 「SCO UNIX および OpenServer 5.0.x に関する注釈」 を参照してください。
SCO Openserver 6.0.x。項2.13.5.9. 「SCO OpenServer 6.0.x に関する注釈」 参照。
SCO UnixWare 7.1.x。項2.13.5.10. 「SCO UnixWare 7.1.x および OpenUNIX 8.0.0 に関する注釈」 参照。
SGI Irix 6.x とネイティブスレッド。項2.13.5.7. 「SGI Irix に関する注釈」 を参照してください。
Solaris 2.5 およびそれ以降で SPARC および x86 のネイティブスレッド付き。項2.13.3. 「Solaris に関する注釈」 を参照してください。
Tru64 Unix。項2.13.5.5. 「Alpha-DEC-UNIX に関する注釈 (Tru64)」 を参照してください。
Windows 2000、Windows XP、Windows Vista、Windows Server 2003、および Windows Server 2008。項2.3. 「Windows に MySQL をインストールする」 を参照してください。
MySQL はこれまで、ほかのシステムでも動作することが知られてきました。詳しくは項2.13. 「オペレーティングシステムに特化した注釈」を参照してください。それらのシステム上の現在のバージョンの MySQL では、ポートのためにある程度の労力が必要になることがあります。
すべてのプラットフォームが MySQL の動作に適しているという訳ではありません。どのプラットフォームが高負荷な基幹業務の MySQL サーバーとして適しているかは、次の要因によります。
スレッドライブラリの総合的な安定性。プラットフォームそのものは評判が良くてすべてがパーフェクトであっても、MySQL の安定性はそのプラットフォームではなくスレッドのライブラリに因ります。
カーネルおよびスレッドライブラリの特長は SMP (対称型マルチプロセッサ) の利点を生かせることにあります。換言すれば、プロセッサがスレッドを作成すると、オリジナルプロセスの異なる CPU でスレッドを実行できることです。
kernel
およびスレッドライブラリの特徴は過剰なコンテキストスイッチなしで、狭いクリティカルな領域で頻繁に
mutex
を取得してリリースする多くのスレッドを実行できることです。pthread_mutex_lock()
の実装によって CPU
の時間節約の汲々とした場合、MySQL
に大きな影響を与えます。この問題に適切に対処しないと、別の
CPU を追加することにより実質的に MySQL
が遅くなります。
ファイルシステムの全般的な安定性とパフォーマンス。
テーブルサイズ。テーブルが大きい場合、パフォーマンスはファイルシステムの大きなファイルの処理およびその効果的な処理能力によって影響を受けます。
当該のプラットフォームに関する米国 Sun Microsystems, Inc. の専門知識のレベル。弊社がプラットフォームによく通じている場合は、プラットフォーム固有の最適化や改善点をコンパイル時に有効にします。弊社はまた MySQL を実装したお客様の最適なシステム構築に助言することもできます。
実際の事例に基づいた類似の構築に対する豊富な経験
設定が似ているプラットフォームで MySQL を正常に実行したユーザーの数。この数が多ければ、プラットフォーム固有の問題が発生する可能性は大幅に小さくなります。