MySQL の特徴および機能としては以下のような点があげられます。Turbolinux 11 Server に収録しているバージョンは、mysql-5.0.45-7 です。より詳細な情報は、MySQL AB の Web サイトやドキュメントを参照してください。
MySQL は、GPL に基づき配布されており無償で使用できます。ソースコードも公開されています。用途によっては商用ライセンスも用意されており購入が可能です。(詳細は http://www.mysql.com/company/legal/licensing/ を参照。)
Linux、FreeBSD、NetBSD、OpenBSD、Solaris、HP-UX、AIX などの UNIX 系システムだけでなく、WindowsNT/XP/2000/2003、Mac OS X など多彩なプラットフォームでの動作が確認されています。
MySQL は、カーネルスレッドを利用した完全なマルチスレッド構成で動作します。mysqld プロセス内に複数のスレッドを起動しクライアントからの接続を待ちます。
MySQL では MyISAM や InnoDB や BerkeleyDB といったストレージエンジンを複数サポートしており、テーブルごとに選択が可能になっています。Turbolinux 11 Server の MySQL のデフォルトは MyISAM ですが、“CREATE TABLE”文に“ENGINE=”で指定が可能です。ストレージエンジンによってトランザクションやロック機構などが異なります。バージョンアップを重ねるにつれてサポートするストレージエンジンの種類も追加されています。
MySQL も、クライアント/サーバー型アーキテクチャを採用しており、クライアント(フロントエンド)は、MySQL が動作しているデータベースサーバー(バックエンド)にネットワーク経由でアクセスすることが可能です。従来の 2 階層システム、およびアプリケーションサーバーを利用した 3 階層システムの構築が可能です。
MySQL では、マルチバイトに対応しています。テーブル名、カラム名、格納するデータにマルチバイトコードが利用できます。LIKE や正規表現によるマルチバイト検索もサポートしています。
データベースの標準言語である SQL には、いくつかのバージョンが存在しますが、MySQL は SQL92 のほとんどの機能をサポートしています。SQL の最新バージョンは SQL2003 で MySQL もその一部をサポートします。
MySQL は、標準で非常に多くのプログラムインターフェースをサポートしています。詳細については、項26.5を参照してください。
MySQL はこれまでストアドプロシージャをサポートしていなかったが 5.0 からは ANSI SQL2003 準拠のストアドプロシージャが搭載されサーバーサイドの処理が強化されました。
MySQL 5.0 からはビューの機能もサポートされました。SQL による抽出結果に別名をつけて保存することで閲覧が可能になっています。