| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
MySQL (R) ソフトウェアによって、非常に高速で堅牢なマルチスレッド形式のマルチユーザ SQL(Structured Query Language)データベースサーバが実現します。MySQL サーバは、ミッションクリティカルで負荷が高い運用システムにも、大規模に展開されるソフトウェアへの組み込みにも対応するように設計されています。MySQL は、MySQL AB の商標です。
MySQL ソフトウェアはデュアルライセンス製品です。ユーザは、GNU 一般公衆利用許諾契約書(http://www.fsf.org/licenses/ )の条件に基づいてオープンソース/フリーソフトウェア製品として MySQL ソフトウェアを使用することも、MySQL AB から標準の商用ライセンスを購入することもできます。 「1.4 MySQL のサポートとライセンス」 節 参照 。
MySQL の Web サイト(http://www.mysql.com/ )には、MySQL ソフトウェアに関する最新情報が掲載されています。
このマニュアルで特に興味深いセクションは以下のとおりです。
MySQL データベースサーバの背景にある会社に関する情報については、 「1.3 MySQL AB の概要」 を参照。
MySQL データベースサーバの機能に関する説明については、 「1.2.2 MySQL の主な機能」 を参照。
MySQL Database Software の移植に関するヒントについては、 「E. 他システムへの移植」 を参照。
MySQL データベースサーバのチュートリアルについては、 「3. MySQL チュートリアル」 を参照。
SQL のサンプルとベンチマーク情報については、ベンチマークディレクトリ(ディストリビューションの `sql-bench')を参照。
重要:
エラー(多くの場合、バグと呼ばれます)の報告は、質問やコメントと同様に、通常の MySQL メーリングリストにお送りください。 「1.7.1.1 MySQL メーリングリスト」 節 参照 。 「1.7.1.3 バグまたは問題を報告する方法」 節 参照 。
Unix では、mysqlbug スクリプトを使用してバグレポートを生成します(Windows ディストリビューションについては、basedir にファイル `mysqlbug.txt' があります。このファイルをバグレポートのテンプレートとして使用してください)。
ソースディストリビューションについては、mysqlbug スクリプトは `scripts' ディレクトリにあります。バイナリディストリビューションについては、mysqlbug は `bin' ディレクトリ(MySQL サーバ RPM パッケージの場合は `/usr/bin')にあります。
MySQL サーバで重大なセキュリティバグを見つけた場合は、security@mysql.com に電子メールをお送りください。
| 1.1 このマニュアルについて | ||
| 1.2 MySQL データベース管理システムの概要 | ||
| 1.3 MySQL AB の概要 | ||
| 1.4 MySQL のサポートとライセンス | ||
| 1.5 MySQL の開発ロードマップ | ||
| 1.6 MySQL の今後(TODO) | ||
| 1.7 MySQL の情報源 | ||
| 1.8 MySQL の標準への準拠 |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
これは、MySQL のリファレンスマニュアルです。バージョン 4.1.1-alpha の MySQL について記述しています。機能に関する変更は常に、バージョンに言及して説明しています。そのため、古いバージョンの MySQL ソフトウェア(3.23 または 4.0 製品版など)を使用している場合でも、このマニュアルは参考になります。バージョン 5.0(開発版)のリファレンスもあります。
これはリファレンスマニュアルなので、SQL やリレーショナルデータベースの概念に関する一般的な説明は記載していません。
MySQL データベースソフトウェア は継続して開発が行われているので、マニュアルも頻繁に更新されます。このマニュアルの最新版は、http://www.mysql.com/documentation/ から HTML、PDF、Windows HLP 版などのさまざまな形式で入手することができます。
元の文書は Texinfo ファイルです。HTML 版は、変更された texi2html を使用して自動的に生成されます。プレーンテキスト版と Info 版は、makeinfo を使用して生成されます。PostScript 版は、texi2dvi と dvips を使用して生成されます。PDF 版は、pdftex を使用して生成されます。
マニュアル内で情報を見つけるのが困難な場合は、http://www.mysql.com/doc/ にある検索可能なバージョンを試してみてください。
このマニュアルへの追加や修正に関する提案は、マニュアルチーム(docs@mysql.com )にお送りください。
このマニュアルは当初、David Axmark と Michael (Monty) Widenius によって執筆されました。現在は、Arjen Lentz、Paul DuBois、および Stefan Hinz で構成される MySQL マニュアルチームによって管理されています。その他多数の貢献者については、 「C. 協力者」 を参照してください。
このマニュアルの著作権(2003)は、スウェーデンの会社 MySQL AB が所有しています。 「1.4.2 MySQL で使用されている著作権とライセンス」 節 参照 。
| 1.1.1 このマニュアルの表記規則 |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
このマニュアルは、以下の表記規則に従って記載されています。
constant
mysqladmin の動作を確認するには、--help オプションを指定して呼び出す。"
特定のプログラムからコマンドを実行する必要があることを示す場合、コマンドの前にプログラムとプロンプトを記述します。たとえば、shell> はログインシェルから実行するコマンドを示し、mysql> は mysql クライアントプログラムから実行するコマンドを示します。
shell> シェルコマンド mysql> mysql コマンド |
"シェル" はコマンドインタープリタです。Unix では通常、sh や csh などのプログラムです。Windows では、Windows コンソールで通常実行される command.com や cmd.exe です。
シェルコマンドは、Bourne シェル構文を使用して表します。csh 形式のシェルを使用している場合は、多少異なるコマンドを発行しなければならないことがあります。たとえば、環境変数を設定し、コマンドを実行するシーケンスは、Bourne シェル構文では次のようになります。
shell> VARNAME=value some_command |
csh または tcsh の場合は、このシーケンスを次のように実行します。
shell> setenv VARNAME value shell> some_command |
データベース名、テーブル名、およびカラム名は多くの場合、コマンドに代入する必要があります。このような代入が必要であることを示す場合、このマニュアルでは db_name、tbl_name、および col_name を使用します。たとえば、次のようなステートメントがあるとします。
mysql> SELECT col_name FROM db_name.tbl_name; |
これは、同様のステートメントを入力する場合、データベース名、テーブル名、およびカラム名を自分で指定することを意味します。たとえば、次のようになります。
mysql> SELECT author_name FROM biblio_db.author_list; |
SQL キーワードは大文字と小文字を区別しないので、大文字で記述されることも小文字で記述されることもあります。ただし、このマニュアルでは大文字を使用します。
構文の説明で省略可能な単語や節を表す場合、角かっこ(`[' および `]')を使用します。たとえば、次のステートメントでは、IF EXISTS は省略可能です。
DROP TABLE [IF EXISTS] tbl_name |
構文要素が複数の選択候補で構成される場合、それらの候補を縦線(`|')で区切ります。選択候補のいずれかを選択できる場合は、次のように、それらの候補を角かっこ(`[' および `]')内に列挙します。
TRIM([[BOTH | LEADING | TRAILING] [remstr] FROM] str) |
選択候補のいずれかを選択しなければならない場合は、次のように、それらの候補を中かっこ(`{' および `}')内に列挙します。
{DESCRIBE | DESC} tbl_name {col_name | wild}
|
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
MySQL は最もよく知られているオープンソース SQL データベース管理システムで、MySQL AB によって開発、提供、サポートが行われています。MySQL AB は MySQL の開発者によって創設された営利会社で、MySQL データベース管理システムに関連するサービスを提供することでビジネスを構築しています。 「1.3 MySQL AB の概要」 節 参照 。
MySQL の Web サイト(http://www.mysql.com/ )には、MySQL ソフトウェアと MySQL AB に関する最新情報が掲載されています。
MySQL はデータベース管理システムである。
データベースは、構造化されたデータの集合である。データベースには、簡単なショッピングリストから絵画のギャラリー、または社内ネットワークの膨大な量の情報など、さまざまなものがある。コンピュータデータベースに格納されているデータに対して追加、アクセス、および処理などを行うには、MySQL サーバのようなデータベース管理システムが必要となる。コンピュータは大量のデータの処理に非常に優れているので、データベース管理システムは、スタンドアロンのユーティリティまたは他のアプリケーションの一部として、データ処理の中心的な役割を果たす。
リレーショナルデータベースでは、1 つの大きな保管領域にすべてのデータが格納されるのではなく、個別のテーブルにデータが格納される。これにより、速度と柔軟性が向上する。"MySQL" の SQL は "Structured Query Language" を表す。SQL はデータベースへのアクセスに使用される最も一般的な標準化言語で、ANSI/ISO SQL 標準によって定義されている(SQL 標準は 1986 年以降開発が繰り返され、複数のバージョンがある。このマニュアルでは、"SQL-92" は 1992 年にリリースされた標準、"SQL-99" は 1999 年にリリースされた標準、"SQL:2003" は 2003 年半ばにリリース予定の標準を表す。"SQL 標準" という用語は、任意の時点における現行バージョンの SQL 標準を表す場合に使用する)。
オープンソースである。
オープンソースとは、だれもがそのソフトウェアを使用し、変更できることを意味する。MySQL ソフトウェアは、だれもが無料でインターネットからダウンロードし、使用することができる。必要に応じて、ソースコードを調べ、ニーズに合わせて変更することができる。MySQL ソフトウェアでは、GPL(GNU 一般公衆利用許諾契約書(http://www.fsf.org/licenses/ ))に基づいて、さまざまな状況でのソフトウェアの使用において許可されている事項と禁止されている事項が規定されている。GPL では不都合な場合や商用アプリケーションに MySQL コードを組み込む必要がある場合は、商用ライセンス版を購入することができる。 「1.4.3 MySQL ライセンス」 節 参照 。
MySQL データベースサーバ は、非常に高速で信頼性があり、簡単に使用することができる。それを求めていたのなら、ぜひ試していただきたい。また、MySQL サーバには、ユーザと密接に協力して開発された実用的な機能が備わっている。ベンチマークページで、他のデータベース管理システムと MySQL サーバのパフォーマンスを比較することができる。 「5.1.4 MySQL ベンチマークスィート」 節 参照 。
MySQL サーバは当初、既存のソリューションよりもはるかに速く大規模なデータベースを処理することを目的として開発され、多くを要求される運用環境で数年間にわたって使用されている。引き続き開発が行われているが、MySQL サーバは現在、便利で多彩な機能を備えている。その接続性、速度、安全性によって、MySQL サーバはインターネット上のデータベースへのアクセスに非常に適している。
詳細な技術情報については、 「6. MySQL SQL言語リファレンス」 を参照。MySQL データベースソフトウェア は、さまざまなバックエンドをサポートするマルチスレッド形式の SQL サーバ、複数の異なるクライアントプログラムおよびライブラリ、管理ツール、幅広いアプリケーションプログラミングインタフェース(API)から成るクライアント/サーバシステムである。
また、MySQL サーバはアプリケーションへのリンクが可能なマルチスレッドライブラリとして提供されており、さらに小規模で高速な、管理しやすい製品を作り出すことができる。
必要なアプリケーションや言語ですでに MySQL データベースサーバがサポートされていると思われる。
MySQL の正式な発音は "My Ess Que Ell" ですが("my sequel" ではありません)、"my sequel" と発音したり、ローカライズされた他の方法で発音してもかまいません。
| 1.2.1 MySQL の歴史 | ||
| 1.2.2 MySQL の主な機能 | ||
| 1.2.3 MySQL の安定性 | ||
| 1.2.4 MySQL テーブルの最大サイズ | ||
| 1.2.5 西暦 2000 年対応 |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
当初は、高速で低レベルな独自の(ISAM)ルーチンを使用してテーブルに接続するために mSQL を使用するつもりでした。しかし、いくつかのテストを行った結果、mSQL はそれほど高速でも柔軟でもないため、ニーズに合わないという結論に至りました。これが要因となって、私たちのデータベースへの新しい SQL インタフェースを開発することになりました。ただし、mSQL とほとんど同じ API インタフェースを使用することにしました。この API を選択したのは、mSQL で使用するために記述されたサードパーティのコードを MySQL で使用するために簡単に移植できるようにするためです。
MySQL という名前の由来は明らかではありません。当社の基本ディレクトリおよび多数のライブラリやツールには、10 年以上にわたって "my" というプリフィックスが使われています。また、共同創設者 Monty Widenius の娘の名前も My です。そのため、このうちのどちらが MySQL の名前の由来となったのかは、私たちにとってもいまだに謎なのです。
MySQL のイルカ(当社のロゴ)の名前は Sakila です。Sakila は、当社の「イルカのネーミング」コンテストで、ユーザによって提案された膨大な数の名前の中から MySQL AB の創設者が選んだものです。この名前を提案したのは、アフリカのスワジランド出身の Ambrose Twebaze というオープンソースソフトウェアの開発者でした。Ambrose によると、Sakila という名前は、スワジランドの現地語であるシスワティ語にルーツがあるということです。また、Sakila は、Ambrose の出生国であるウガンダに近い、タンザニアのアルーシャにある町の名前でもあります。
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
MySQL データベースソフトウェア の重要な特徴の一部を以下で説明します。 「1.5.1 MySQL 4.0 の概要」 節 参照 。
MyISAM)を使用している。
MySQL コードは Purify(市販のメモリリーク検出システム)と Valgrind と呼ばれる GPL ツール(http://developer.kde.org/~sewardj/ )を使用してテストされている。
FLOAT、DOUBLE、CHAR、VARCHAR、TEXT、BLOB、DATE、TIME、DATETIME、TIMESTAMP、YEAR、SET、および ENUM 型。 「6.2 カラム型」 節 参照 。
SELECT 節および WHERE 節での演算子と関数の完全なサポート。たとえば、次のように使用することができる。
mysql> SELECT CONCAT(first_name, " ", last_name)
-> FROM tbl_name
-> WHERE income/dependents > 10000 AND age > 30;
|
GROUP BY 節および ORDER BY 節の完全なサポート。グループ関数(COUNT()、COUNT(DISTINCT ...)、AVG()、STD()、SUM()、MAX()、MIN()、および GROUP_CONCAT())のサポート。
LEFT OUTER JOIN および RIGHT OUTER JOIN のサポート。
DELETE、INSERT、REPLACE、および UPDATE は、変更された(影響を受けた)レコードの数を返す。サーバに接続する際にフラグを設定することで、代わりに一致したレコードの数を返すことも可能である。
MySQL 固有の SHOW コマンドを使用すると、データベース、テーブル、およびインデックスに関する情報を取得することができる。EXPLAIN コマンドを使用すると、オプティマイザによるクエリの解決方法を決定することができる。
ABS は有効なカラム名である。関数呼び出しで、関数名とその後に続く `(' との間にスペースを使用できない点が唯一の制限事項である。 「6.1.7 MySQL での予約語の扱い」 節 参照 。
MySQL サーバを使用して 50,000,000 レコードが格納されたデータベースを処理している。また、MySQL サーバを使用して 60,000 テーブル、約 5,000,000,000 レコードを処理しているユーザもいる。
MySQL サーバのコンパイル時に変更可能である)。インデックスでは、CHAR 型または VARCHAR 型のカラムのプリフィックスを使用することができる。
MySQL サーバに接続することができる。NT ファミリ(NT、2000、または XP) の Windows システムでは、クライアントは名前付きパイプを使用して接続することができる。Unix システムでは、Unix ドメインソケットファイルを使用して接続することができる。
MySQL サーバに接続することができる。クライアントは、Windows と Unix のどちらで実行されていてもかまわない。Connector/ODBC ソースが使用可能である。他の多くの機能と同様に、ODBC 2.5 のすべての機能がサポートされる。 「11.2 MySQL の ODBC サポート」 節 参照 。
MySQL サーバの起動時に変更することができる。非常に高度なソートの例については、チェコ語のソートコードを参照。MySQL サーバではさまざまなキャラクタセットがサポートされており、コンパイル時および実行時に指定することができる。
mysqlcheck クライアントを介してコマンドラインから使用可能である。また、MySQL には、MyISAM テーブルでこれらの操作を実行するための myisamchk という非常に高速なコマンドラインユーティリティが組み込まれている。 「4. データベース管理」 節 参照 。
--help または -? オプションを指定して呼び出すと、すべての MySQL プログラムでオンラインヘルプを参照することができる。
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
このセクションでは、"MySQL サーバの安定性" と "プロジェクトにおける MySQL サーバの信頼性" という問題を扱います。これらの問題を明らかにし、多数の潜在ユーザに関連する重要な質問に答えます。このセクションに記載されている情報は、問題の特定や使用方法の報告が非常に活発に行われているメーリングリストから収集したデータに基づいています。
元のコードは 1980 年代初期に記述されたもので、安定したコードベースとなっています。また、ISAM テーブル形式には下位互換性が維持されています。MySQL AB の前身である TcX では、1996 年半ば以来、MySQL コードはプロジェクトで問題なく動作していました。MySQL データベースソフトウェア がより広く一般にリリースされるとすぐに、新しいユーザが "テストされていないコード" をいくつか見つけました。それ以降の新しいリリースごとに、移植性に関する問題は少なくなっています(また一方では、新しいリリースごとに多数の新機能が追加されています)。
MySQL サーバの各リリースは常に実用的です。問題が発生するのは、ユーザが "グレーゾーン" のコードを使用しようとしたときだけです。もっとも、新しいユーザはグレーゾーンとは何かを知りません。そのため、このセクションでは、現時点で認識されているその領域を説明します。説明は主に、MySQL サーバのバージョン 3.23 および 4.0 を対象とします。最新バージョンでは、バグセクションに記載されている設計関連のバグを除き、報告されている既知のバグはすべて修正されています。 「1.8.6 MySQL の既知のエラーと設計上の問題」 節 参照 。
MySQL サーバは、複数層の独立したモジュールで構成されています。新しいモジュールの一部とそれらのテストステータスを以下に示します。
MySQL 4.x では、拡張されたレプリケーション機能に対する取り組みが引き続き行われている。
InnoDB テーブル -- 安定(3.23.49 以降の 3.23)
InnoDB トランザクションストレージエンジンは、MySQL 3.23 ツリーのバージョン 3.23.49 以降で安定していると宣言されている。InnoDB は、大規模で負荷が高い運用システムで使用されている。
BDB テーブル -- ガンマ
Berkeley DB コードは非常に安定しているが、MySQL サーバでは引き続き BDB トランザクションストレージエンジンインタフェースの改良を行っている。そのため、他のテーブル型のように十分にテストされるにはしばらく時間が必要である。
MySQL 4.0 には、重要な拡張機能が実装されている。
MyODBC 3.51 (ODBC SDK 3.51 を使用) -- 安定
MyISAM テーブルの自動リカバリ -- ガンマ
MyISAM ストレージエンジンの新しいコードのみに該当する。このコードでは、テーブルを開く際に、前にそのテーブルが正しく閉じられたかどうかがチェックされ、正しく閉じられていない場合はテーブルの自動チェック/修復が実行される。
MySQL 4.0 における MyISAM テーブルの新機能である。
fcntl())を使用することに大きな問題がある。このような場合、--skip-external-locking フラグを指定して mysqld を実行する必要がある。問題は、一部の Linux システムと、NFS によってマウントされたファイルシステム使用時の SunOS で発生することが確認されている。
MySQL AB では、高品質のサポートを有料でお客様に提供しております。また、だれもが質問することができるコミュニティリソースとして MySQL メーリングリストを提供しております。
バグは通常、パッチによって至急修正されます。重大なバグについては、ほとんどの場合、新しいリリースが提供されます。
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
MySQL バージョン 3.22 では、テーブルのサイズは 4 GB(4 ギガバイト)に制限されていました。MySQL バージョン 3.23 の MyISAM テーブル型では、テーブルの最大サイズが 800万テラバイト(2^63 バイト)に増えました。有効なテーブルのサイズがこのように大きくなったことで、現在では、MySQL データベースに効果的なテーブルの最大サイズは通常、MySQL 内部の制限ではなく、オペレーティングシステムのファイルサイズに関する制限によって決まります。
次の表は、オペレーティングシステムのファイルサイズに関する制限の例を示しています。
| オペレーティングシステム | ファイルサイズの制限 |
| Linux-Intel 32-bit | 2 GB、LFS 使用の場合はそれ以上 |
| Linux-Alpha | 8 TB(?) |
| Solaris 2.5.1 | 2 GB(パッチにより 4GB まで可) |
| Solaris 2.6 | 4 GB(フラグにより変更可能) |
| Solaris 2.7 Intel | 4 GB |
| Solaris 2.7 UltraSPARC | 512 GB |
Linux 2.2 では、ext2 ファイルシステム用の LFS パッチを使用することで、2 GB より大きいサイズのテーブルを使用することができます。また、Linux 2.4 には ReiserFS および ext3 が組み込まれており、これらを使用することで大きいファイルがサポートされます。現在の Linux ディストリビューションのほとんどはカーネル 2.4 に基づいており、必要な Large File Support(LFS)パッチすべてがすでに組み込まれています。しかし、それでも、有効な最大ファイルサイズはいくつかの要因によって左右されます。そのうちの 1 つが、MySQL テーブルを格納するために使用されるファイルシステムです。
Linux における LFS の詳細については、Andreas Jaeger の「Large File Support in Linux」(http://www.suse.de/~aj/linux_lfs.html )を参照してください。
デフォルトでは、MySQL では有効な最大サイズが約 4 GB の内部構造を持つ MyISAM テーブルが作成されます。SHOW TABLE STATUS コマンドまたは myisamchk -dv table_name を使用して、テーブルの最大サイズをチェックすることができます。 「4.6.8 SHOW 構文」 節 参照 。
4 GB より大きいサイズのテーブルが必要な場合(オペレーティングシステムで大規模ファイルがサポートされていれば)、CREATE TABLE ステートメントで AVG_ROW_LENGTH および MAX_ROWS オプションを指定することができます。4 GB を超えるテーブルを作成するには、これらのオプションを使用してください。 「6.5.3 CREATE TABLE 構文」 節 参照 。また、ALTER TABLE を使用して、後でこれらのオプションを設定することもできます。 「6.5.4 ALTER TABLE 構文」 節 参照 。
MyISAM テーブルのファイルサイズに関する制限に対処する方法として、他に次のような方法があります。
myisampack を使用してテーブルを圧縮することができる。myisampack では通常、テーブルが少なくとも 50% 圧縮されるので、結果的にはるかに大きいテーブルを使用することが可能である。また、myisampack を使用して、複数のテーブルを 1 つのテーブルにマージすることもできる。 「4.8.4 myisampack(MySQL 圧縮読み取り専用テーブルジェネレータ)」 節 参照 。
MyISAM データファイルに関するオペレーティングシステムのファイル制限に対処する方法として、RAID オプションを使用することもできる。 「6.5.3 CREATE TABLE 構文」 節 参照 。
MySQL に組み込まれている MERGE ライブラリを使用して、同一のテーブルの集合を 1 つのテーブルとして処理することもできる。 「7.2 MERGE テーブル」 節 参照 。
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
MySQL サーバ自体は、西暦 2000 年(Y2K)対応に関しては何の問題もありません。
MySQL サーバでは、TIMESTAMP 値については日付を 2037 年に処理する Unix 時間関数を使用する。DATE 値および DATETIME 値については、9999 年までの日付が使用可能である。
MySQL 日付関数すべてが 1 つのファイル `sql/time.cc' に格納され、西暦 2000 年に対応するように非常に慎重にコード化されている。
MySQL バージョン 3.22 以降では、YEAR 型のカラムに 0 年および 1901 年から 2155 年までの年を 1 バイトで格納し、2 桁または 4 桁で表示することができる。2 桁の年はすべて、1970 年から 2069 年までの範囲にあると見なされる。つまり、YEAR 型のカラムに 01 を格納した場合、MySQL サーバでは 2001 として処理される。
次の簡単な例で、MySQL サーバに 2030 年までの日付に関する問題がないことを示します。
mysql> DROP TABLE IF EXISTS y2k;
Query OK, 0 rows affected (0.01 sec)
mysql> CREATE TABLE y2k (date DATE,
-> date_time DATETIME,
-> time_stamp TIMESTAMP);
Query OK, 0 rows affected (0.00 sec)
mysql> INSERT INTO y2k VALUES
-> ("1998-12-31","1998-12-31 23:59:59",19981231235959),
-> ("1999-01-01","1999-01-01 00:00:00",19990101000000),
-> ("1999-09-09","1999-09-09 23:59:59",19990909235959),
-> ("2000-01-01","2000-01-01 00:00:00",20000101000000),
-> ("2000-02-28","2000-02-28 00:00:00",20000228000000),
-> ("2000-02-29","2000-02-29 00:00:00",20000229000000),
-> ("2000-03-01","2000-03-01 00:00:00",20000301000000),
-> ("2000-12-31","2000-12-31 23:59:59",20001231235959),
-> ("2001-01-01","2001-01-01 00:00:00",20010101000000),
-> ("2004-12-31","2004-12-31 23:59:59",20041231235959),
-> ("2005-01-01","2005-01-01 00:00:00",20050101000000),
-> ("2030-01-01","2030-01-01 00:00:00",20300101000000),
-> ("2050-01-01","2050-01-01 00:00:00",20500101000000);
Query OK, 13 rows affected (0.01 sec)
Records: 13 Duplicates: 0 Warnings: 0
mysql> SELECT * FROM y2k;
+------------+---------------------+----------------+
| date | date_time | time_stamp |
+------------+---------------------+----------------+
| 1998-12-31 | 1998-12-31 23:59:59 | 19981231235959 |
| 1999-01-01 | 1999-01-01 00:00:00 | 19990101000000 |
| 1999-09-09 | 1999-09-09 23:59:59 | 19990909235959 |
| 2000-01-01 | 2000-01-01 00:00:00 | 20000101000000 |
| 2000-02-28 | 2000-02-28 00:00:00 | 20000228000000 |
| 2000-02-29 | 2000-02-29 00:00:00 | 20000229000000 |
| 2000-03-01 | 2000-03-01 00:00:00 | 20000301000000 |
| 2000-12-31 | 2000-12-31 23:59:59 | 20001231235959 |
| 2001-01-01 | 2001-01-01 00:00:00 | 20010101000000 |
| 2004-12-31 | 2004-12-31 23:59:59 | 20041231235959 |
| 2005-01-01 | 2005-01-01 00:00:00 | 20050101000000 |
| 2030-01-01 | 2030-01-01 00:00:00 | 20300101000000 |
| 2050-01-01 | 2050-01-01 00:00:00 | 00000000000000 |
+------------+---------------------+----------------+
13 rows in set (0.00 sec)
|
TIMESTAMP 型のカラムの最後の値がゼロになっているのは、最後の年(2050)が TIMESTAMP の上限を超えているためです。TIMESTAMP データ型は現在の時刻を格納するために使用され、32 ビットマシンでは 19700101000000 から 20300101000000 までの値(符号付きの値)をサポートします。64 ビットマシンでは、2106 までの値(符号なしの値)を処理します。
この例は、DATE および DATETIME データ型にも日付の使用に関する問題がないことを示しています。これらのデータ型では、9999 年までの日付が処理されます。
MySQL サーバ自体は Y2K に対応していますが、Y2K に対応していないアプリケーションとともに使用すると、問題が発生することがあります。たとえば、多くの古いアプリケーションでは、4 桁の値ではなく、あいまいな 2 桁の値を使用して年の格納や処理が行われます。この問題は、値が "ない" ことを示す場合に 00 や 99 などの値を使用するアプリケーションでは、さらに複雑になる可能性があります。それぞれのアプリケーションはさまざまなプログラマによって記述されており、プログラマごとに異なる規則や日付処理関数を使用している可能性があるので、これらの問題を修正するのは困難な場合があります。
そのため、MySQL サーバに Y2K 問題がなくても、アプリケーションとしてあいまいでない情報を提供することが必要です。年を表す 2 桁の値を含むあいまいな日付入力データの処理に関する MySQL サーバのルールについては、 「6.2.2.1 西暦 2000 年問題と日付型」 を参照してください。
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
MySQL AB は MySQL の創始者と主な開発者の会社で、最初は David Axmark、Allan Larsson、および Michael "Monty" Widenius によってスウェーデンに創設されました。
MySQL サーバの開発者はすべて、当社の従業員です。当社は、世界中の多数の国の人々から成るバーチャルな組織です。毎日ネットを使って相互に、またはユーザ、サポータ、およびパートナと広くコミュニケーションを図っています。
当社は、MySQL ソフトウェアの開発と新しいユーザへの当社のデータベースの普及に専念しております。MySQL AB は、MySQL のソースコード、MySQL のロゴと商標、およびこのマニュアルの著作権を所有しています。 「1.2 MySQL データベース管理システムの概要」 節 参照 。
| 1.3.1 MySQL AB のビジネスモデルとサービス | ||
| 1.3.2 問い合わせ先 |
MySQL の本質的価値が、MySQL およびオープンソースへの当社の献身を示しています。
当社は、MySQL データベースソフトウェア が次のようなものであることを願っています。
MySQL AB と MySQL AB の従業員は、以下のことを心がけています。
オープンソースの理念を推進し、オープンソースコミュニティをサポートする。
MySQL の Web サイト(http://www.mysql.com/ )には、MySQL と MySQL AB に関する最新情報が掲載されています。
会社名の "AB" の部分は、スウェーデン語の "aktiebolag"、つまり "株式会社" の頭字語です。したがって、"MySQL 株式会社" という意味です。実際、MySQL AB の子会社として、MySQL Inc. や MySQL GmbH などがあります。これらの子会社はそれぞれ、アメリカとドイツにあります。
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
当社に最もよく寄せられる質問の 1 つが "製品を無償で提供してどのように採算をとっているのですか?" というものです。これに対する回答は次のとおりです。
MySQL AB は、サポート、サービス、商用ライセンス、およびロイヤルティで利益を上げています。当社では、これらの収益を製品開発や MySQL ビジネスの拡大に充てています。
| 1.3.1.1 サポート | ||
| 1.3.1.2 トレーニングと検定 | ||
| 1.3.1.3 コンサルティング | ||
| 1.3.1.4 商用ライセンス | ||
| 1.3.1.5 パートナ提携 |
当社は、創設以来、常に利益を上げています。2001 年 10 月には、代表的な北欧の投資家と何人かの資金援助者から事業投資を受けました。この投資は、当社のビジネスモデルを固め、継続的な成長の基盤を確立するために使われています。
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
MySQL AB は、MySQL データベースの創始者と主な開発者が所有し、経営しています。開発者は、お客様やその他のユーザのニーズや問題を常に把握しておくために、サポートの提供に取り組んでいます。当社のサポートはすべて、経験豊富な開発者によって提供されます。実際、難しい質問には、MySQL サーバの最も重要な作成者である Michael Monty Widenius が回答します。 「1.4.1 MySQL AB によって提供されるサポート」 節 参照 。
詳細とさまざまなレベルのサポートの申し込みについては、http://www.mysql.com/support/ を参照するか、当社の販売スタッフ(sales@mysql.com )にお問い合わせください。
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
MySQL AB は、MySQL 関連のトレーニングを世界中で実施しています。当社では、オープンコースと企業固有のニーズに合わせた社内トレーニング用コースの両方を用意しております。また、当社のパートナである MySQL 認定トレーニングセンターによる MySQL トレーニングもあります。
当社のトレーニング教材には、当社のマニュアルで使用されているものと同じサンプルデータベースやサンプルアプリケーションが使用されています。また、教材は最新版の MySQL を反映するように常に更新されています。さらに、当社の講師は開発チームによってサポートされているため、トレーニングの質とコース教材の継続的な開発を保証いたします。また、トレーニング中に発生した質問には必ずお答えします。
トレーニングコースに参加することで、MySQL アプリケーションの目標を達成することができます。さらに、以下のことを実現することができます。
MySQL 検定の準備をする。
受講者として、またはトレーニングパートナとして当社のトレーニングに関心をお持ちの方は、トレーニングセクション(http://www.mysql.com/training/ )を参照するか、当社(training@mysql.com )にお問い合わせください。
MySQL 検定プログラムの詳細については、http://www.mysql.com/certification/ を参照してください。
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
MySQL AB とその認定パートナは、世界中の MySQL サーバユーザおよび独自のソフトウェアに MySQL サーバを組み込むユーザにコンサルティングサービスを提供しています。
当社のコンサルタントは、データベースの設計と調整、効率的なクエリの作成、最適なパフォーマンスを確保するためのプラットフォームの調整、移行に関する問題の解決、レプリケーションの設定、堅牢なトランザクションアプリケーションの構築などをお手伝いします。また、大規模展開を目的として、独自の製品やアプリケーションに MySQL サーバを組み込むお客様のお手伝いもいたします。
当社のコンサルタントは、開発チームと密接に協力しています。そのため、専門的なサービスの技術的な品質を保証いたします。コンサルティングは、2 日間のパワースタートセッションから、何週間、何か月にもわたるプロジェクトまでさまざまです。当社の専門家は、MySQL サーバだけを扱うわけではありません。PHP や Perl などのプログラミング言語およびスクリプト言語についても対応します。
コンサルティングサービスおよびコンサルティングパートナに関心をお持ちの方は、当社の Web サイトのコンサルティングセクション(http://www.mysql.com/consulting/ )を参照するか、コンサルティングスタッフ(consulting@mysql.com )にお問い合わせください。
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
MySQL データベースは、GNU 一般公衆利用許諾契約書(GPL)に基づいてリリースされています。つまり、MySQL ソフトウェアは、GPL の下、無償で使用することができます。ただし、GPL の条件(アプリケーションも GPL に基づいていなければならないという要件など)に拘束されたくない場合は、MySQL AB から同じ製品の商用ライセンスを購入することができます。http://www.mysql.com/products/pricing.html を参照してください。MySQL AB は MySQL のソースコードの著作権を所有しているので、デュアルライセンスを採用して、GPL および商用ライセンスの下で同じ製品を提供することができます。これにより、オープンソースへの MySQL AB の取り組みに影響が生じることはありません。商用ライセンスが必要な場合の詳細については、 「1.4.3 MySQL ライセンス」 を参照してください。
当社は、MySQL サーバに価値を追加するサードパーティのオープンソース GPL ソフトウェアの商用ライセンスも販売しております。わかりやすい例として、ACID サポート、行レベルのロック、クラッシュリカバリ、マルチバージョニング、外部キーサポートなどを提供する InnoDB トランザクションストレージエンジンがあります。 「7.5 InnoDB テーブル」 節 参照 。
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
MySQL AB には、トレーニングコース、コンサルティングとサポート、出版、MySQL および関連製品の再販と提供を扱う世界的なパートナプログラムがあります。MySQL AB パートナは Web サイト(http://www.mysql.com/ )で公開されるとともに、個々の製品を区別し、ビジネスを促進するために特殊なバージョンの MySQL の商標を使用する権利を得られます。
MySQL AB パートナに関心をお持ちの方は、partner@mysql.com に電子メールをお送りください。
MySQL という言葉と MySQL のイルカのロゴは、MySQL AB の商標です。 「1.4.4 MySQL AB のロゴと商標」 節 参照 。これらの商標は、MySQL の創始者が何年にもわたって築いてきた意義深い価値を表しています。
MySQL の Web サイト(http://www.mysql.com/ )は、開発者やユーザによく知られています。2001 年 10 月には、1,000 万回のページアクセスがありました。当社の Web サイトへの訪問者は、ソフトウェアとハードウェアの両方について購入の決定と推奨を行うグループです。訪問者の 12% が正式に購入を決定し、購入の決定にまったく関連しないのはわずか 9% です。65% を超える訪問者が過去半年以内に 1 件以上のオンライン取り引きを行ったことがあり、70% の訪問者はその後数か月内に取り引きを予定しています。
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
MySQL の Web サイト(http://www.mysql.com/ )には、MySQL と MySQL AB に関する最新情報が掲載されています。
当社のニュースリリース(http://www.mysql.com/news/ )に掲載されていないプレス関連のサービスや質問については、press@mysql.com に電子メールをお送りください。
MySQL AB と有効なサポート契約を結んでいる方は、MySQL ソフトウェアに関する技術的な質問に対する明確な回答をタイムリーに得ることができます。詳細については、 「1.4.1 MySQL AB によって提供されるサポート」 を参照してください。または、Web サイトの http://www.mysql.com/support/ を参照するか、sales@mysql.com に電子メールをお送りください。
MySQL トレーニングについては、トレーニングセクション(http://www.mysql.com/training/ )を参照してください。インターネットにアクセスできない場合は、MySQL AB のトレーニングスタッフ(training@mysql.com )に電子メールでお問い合わせください。 「1.3.1.2 トレーニングと検定」 節 参照 。
MySQL 検定プログラムについては、http://www.mysql.com/certification/ を参照してください。 「1.3.1.2 トレーニングと検定」 節 参照 。
コンサルティングに関心をお持ちの方は、Web サイトのコンサルティングセクション(http://www.mysql.com/consulting/ )を参照してください。インターネットにアクセスできない場合は、MySQL AB のコンサルティングスタッフ(consulting@mysql.com )に電子メールでお問い合わせください。 「1.3.1.3 コンサルティング」 節 参照 。
https://order.mysql.com/ では、商用ライセンスをオンラインで購入することができます。また、MySQL AB に FAX で購入申込書を送信する方法を参照することもできます。ライセンスの詳細については、http://www.mysql.com/products/pricing.html を参照してください。ライセンスに関する質問がある場合やハイボリュームライセンス契約の見積もりが必要な場合は、Web サイト(http://www.mysql.com/ )にある問い合わせ用紙に記入するか、licensing@mysql.com (ライセンスに関する質問)または sales@mysql.com (販売見積もり)に電子メールをお送りください。 「1.4.3 MySQL ライセンス」 節 参照 。
MySQL AB とのパートナ提携に関心をお持ちの企業は、partner@mysql.com に電子メールをお送りください。 「1.3.1.5 パートナ提携」 節 参照 。
MySQL の商標ポリシーの詳細については、http://www.mysql.com/company/trademark.html を参照するか、trademark@mysql.com に電子メールをお送りください。 「1.4.4 MySQL AB のロゴと商標」 節 参照 。
採用セクション(http://www.mysql.com/company/jobs/ )に掲載されている MySQL AB の職種に関心をお持ちの方は、jobs@mysql.com に電子メールをお送りください。履歴書は、添付ファイルとして送信するのではなく、電子メールメッセージの最後にプレーンテキスト形式で記載してください。
多数のユーザ間の一般的なディスカッションについては、該当するメーリングリストを参照してください。 「1.7.1 MySQL メーリングリスト」 節 参照 。
エラー(多くの場合、バグと呼ばれます)の報告は、質問やコメントと同様に、通常の MySQL メーリングリストにお送りください。 「1.7.1.1 MySQL メーリングリスト」 節 参照 。MySQL サーバで重大なセキュリティバグを見つけた場合は、security@mysql.com に電子メールをお送りください。 「1.7.1.3 バグまたは問題を報告する方法」 節 参照 。
公開可能なベンチマーク結果をお持ちの方は、benchmarks@mysql.com に電子メールでお問い合わせください。
このマニュアルへの追加や修正に関する提案については、マニュアルチーム(docs@mysql.com )に電子メールをお送りください。
MySQL の Web サイト(http://www.mysql.com/ )の運営や内容に関する質問やコメントについては、webmaster@mysql.com に電子メールをお送りください。
MySQL AB にはプライバシーポリシーがあります。http://www.mysql.com/company/privacy.html を参照してください。このポリシーに関する質問については、privacy@mysql.com に電子メールをお送りください。
その他の質問についてはすべて、info@mysql.com に電子メールをお送りください。
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
このセクションでは、MySQL のサポートおよびライセンスに関する取り決めについて説明します。
| 1.4.1 MySQL AB によって提供されるサポート | ||
| 1.4.2 MySQL で使用されている著作権とライセンス | ||
| 1.4.3 MySQL ライセンス | ||
| 1.4.4 MySQL AB のロゴと商標 |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
MySQL AB からのテクニカルサポートでは、MySQL データベースエンジンをコード化するソフトウェアエンジニアからお客様個々の問題に応じた回答が提供されます。
当社は、テクニカルサポートを広く、包括的にとらえます。お客様にとって重要な MySQL ソフトウェアに関するほとんどの問題は、当社にとっても重要です。ユーザは通常、さまざまなコマンドやユーティリティを使用する方法、パフォーマンスボトルネックを除去する方法、クラッシュしたシステムをリストアする方法、MySQL に対するオペレーティングシステムやネットワークの影響を理解する方法、バックアップおよびリカバリに関するベストプラクティスを設定する方法、API を利用する方法などについてのヘルプを必要としています。当社のサポートは、できる限りのお手伝いをすることを心がけていますが、MySQL サーバと独自のユーティリティのみを対象とし、MySQL サーバにアクセスするサードパーティ製品は対象としておりません。
さまざまなサポートオプションの詳細については、http://www.mysql.com/support/ を参照してください。ここでは、サポート契約をオンラインで申し込むこともできます。インターネットにアクセスできない場合は、販売スタッフ(sales@mysql.com )に電子メールでお問い合わせください。
テクニカルサポートは生命保険のようなものです。生命保険がなくても何年間も快適に暮らせますが、そのときがくれば、非常に重要になります。しかし、それから保険に入ったのでは遅すぎるのです。重要なアプリケーションに MySQL サーバを使用している場合、問題が突然発生したときに、自分だけですべてを解決するのは非常に時間がかかります。そのような場合、MySQL AB で採用している経験豊富な MySQL のトラブルシューティング担当者への直接のアクセスが必要になることがあります。
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
MySQL AB は、MySQL のソースコード、MySQL のロゴと商標、およびこのマニュアルの著作権を所有しています。 「1.3 MySQL AB の概要」 節 参照 。MySQL ディストリビューションには、さまざまなライセンスが関連しています。
mysqlclient ライブラリ、クライアント、および GNU readline ライブラリ内の MySQL 固有のソースはすべて、GNU 一般公衆利用許諾契約書の対象である。 「H. GNU General Public License」 節 参照 。このライセンスのテキストは、ディストリビューションのファイル `COPYING' にある。
GNU getopt ライブラリは、GNU 劣等一般公衆利用許諾契約書の対象である。http://www.fsf.org/licenses/ を参照。
regexp ライブラリ)の一部は、Berkeley スタイルの著作権の対象である。
MySQL の古いバージョン(3.22 以前)には、さらに厳密なライセンス(http://www.mysql.com/products/mypl.html )が適用される。個々のバージョンのマニュアルを参照。
MySQL のリファレンスマニュアルは現在、GPL スタイルのライセンス下では提供されていない。このマニュアルの使用には、以下の条件が適用される。
MySQL AB からの書面による事前の合意が必要である。
MySQL ライセンスの施行については、 「1.4.3 MySQL ライセンス」 を参照してください。 「1.4.4 MySQL AB のロゴと商標」 も参照してください。
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
MySQL ソフトウェアは、最もよく知られていると思われるオープンソースライセンスである GNU 一般公衆利用許諾契約書(GPL)に基づいてリリースされています。GPL ライセンスの正式な条件については、http://www.fsf.org/licenses/ を参照してください。http://www.fsf.org/licenses/gpl-faq.html および http://www.gnu.org/philosophy/enforcing-gpl.html も参照してください。
MySQL ソフトウェアは GPL に基づいてリリースされているので、多くの場合、無償で使用することができます。ただし、特定の用途については、https://order.mysql.com/ で MySQL AB から商用ライセンスを購入しなければならない場合があります。詳細については、http://www.mysql.com/products/licensing.html を参照してください。
MySQL の古いバージョン(3.22 以前)には、さらに厳密なライセンス(http://www.mysql.com/products/mypl.html )が適用されます。個々のバージョンのマニュアルを参照してください。
商用ライセンス、GPL、または古い MySQL ライセンスに基づいて MySQL ソフトウェアを使用しても、MySQL AB の商標を使用する権利が自動的に与えられるわけではないことに注意してください。 「1.4.4 MySQL AB のロゴと商標」 節 参照 。
| 1.4.3.1 商用ライセンスに基づく MySQL ソフトウェアの使用 | ||
| 1.4.3.2 GPL に基づく MySQL ソフトウェアの無償使用 |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
GPL ライセンスは、プログラムが GPL プログラムにリンクしている場合、作成された製品のすべての部分のソースコードもすべて GPL に基づいてリリースする必要があるという意味で、伝染性があります。この GPL 要件に従わない場合、ライセンス条件に違反することとなり、GPL プログラムを使用する権利をすべて失います。また、損害を受ける危険を冒すことにもなります。
以下のような場合、商用ライセンスが必要です。
MySQL ソフトウェアの GPL コードとプログラムをリンクし、商用製品を作成するため、または追加した非 GPL コードを他の理由でクローズソースにするために、作成する製品に GPL に基づくライセンスを付与しない場合。商用ライセンスを購入すると、MySQL ソフトウェアを使用する際に、同じコードでも GPL が適用されなくなる。
MySQL ソフトウェアのみを使用する非 GPL アプリケーションを提供し、MySQL ソフトウェアとともに出荷する場合。このタイプのソリューションは、ネットワーク経由で行われてもリンクしていると見なされる。
GPL ライセンスの下で必要とされるソースコードの提供を行わずに、MySQL ソフトウェアのコピーを提供する場合。
MySQL データベースの今後の開発をサポートする場合。MySQL AB からサポートを直接購入することは、MySQL ソフトウェアの開発に貢献するもう 1 つのよい方法である。また、ユーザにも直接メリットがある。 「1.4.1 MySQL AB によって提供されるサポート」 節 参照 。
ライセンスを要求する場合、MySQL ソフトウェアの各インストールに 1 つずつ必要です。これは、1 台のマシン上の CPU の数には関係ありません。また、サーバに接続するクライアントの数に理論上の制限はありません。
商用ライセンスについては、当社の Web サイト(http://www.mysql.com/products/licensing.html )を参照してください。サポート契約については、http://www.mysql.com/support/ を参照してください。特殊なニーズがある場合やインターネットにアクセスできない場合は、販売スタッフ(sales@mysql.com )に電子メールでお問い合わせください。
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
GPL の条件に従っている場合、GPL の下で MySQL ソフトウェアを無償で使用することができます。GPL に関する一般的な質問に対する回答などの詳細については、Free Software Foundation の一般的な FAQ(http://www.fsf.org/licenses/gpl-faq.html )を参照してください。一般に、以下のような場合に GPL を使用します。
GPL に基づく MySQL のソースコードの両方を製品とともに提供する場合。
MySQL システムにリンクしていない、または MySQL システムに依存していない他のプログラムとバンドルされた MySQL のソースコードを提供する場合。これは、GPL ライセンスでは単に集約と呼ばれる。
MySQL システムのいずれの部分も提供しない場合、無償で使用することができる。
MySQL サーバを使用した Web ホスティングを顧客に提供する場合。当社は、MySQL サポートがある ISP を使用するように推奨している。これは、MySQL のインストールに関して発生しうる問題を解決するためのリソースが、実際にそれらの ISP にあるという信頼感が得られるためである。ISP に MySQL サーバの商用ライセンスがなくても、適切なパッチが適用されていることを確認できるように、顧客に少なくとも MySQL インストールのソースへの読み取りアクセス権を付与する必要がある。
MySQL データベースソフトウェアを Web サーバとともに使用する場合(提供する製品でない限り)、商用ライセンスは不要である。MySQL サーバを使用する市販の Web サーバを実行する場合も、同様である。これは、MySQL システムのいずれの部分も提供しないためである。ただし、この場合、MySQL ソフトウェアによって企業がサポートされているので、MySQL サポートを購入していただくよう希望する。
MySQL データベースソフトウェアの使用に商用ライセンスが不要な場合でも、MySQL AB からサポートを購入することをお勧めします。これにより、MySQL の開発に貢献することになるとともに、お客様自身も直接メリットが得られます。 「1.4.1 MySQL AB によって提供されるサポート」 節 参照 。
MySQL データベースソフトウェアの使用によって利益を得るような商用コンテキストで MySQL データベースソフトウェアを使用する場合は、いずれかのレベルのサポートを購入することで MySQL ソフトウェアの開発のお手伝いをお願いしています。MySQL データベースがお客様のビジネスに役立っているのなら、今度はお客様が MySQL AB に手を貸してください(そうでないと、サポートに関する質問をする場合、多くの労力を要した成果を無償で使用しているだけでなく、当社に無償でサポートを提供するように依頼していることにもなります)。
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
Web サイト、書籍、またはボックス製品に MySQL AB のイルカのロゴを掲載したいという MySQL データベースユーザが多数いらっしゃいます。当社はこれを歓迎し、推奨しておりますが、MySQL という言葉と MySQL のイルカのロゴは MySQL AB の商標であり、http://www.mysql.com/company/trademark.html に記載されている当社の商標ポリシーに従って使用する必要があることに注意してください。
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
MySQL のイルカのロゴは、2001 年にフィンランドの広告代理店 Priority によってデザインされたものです。頭がよく、敏捷でスリムな動物なので、データの大海原を楽々と進むということから、MySQL データベースに適したシンボルとしてイルカが選ばれました。また、私たちもイルカが好きでした。
MySQL のオリジナルロゴを使用できるのは、MySQL AB の代表者と、書面による合意によって使用が許可されたユーザのみです。
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
当社は、Web サイト(http://www.mysql.com/press/logos.html )からダウンロードし、MySQL AB からの書面による許可なしにサードパーティの Web サイトで使用できる特殊な条件付き使用ロゴをデザインしております。これらのロゴの使用にはまったく制限はありませんが、名前のとおり、当社の商標ポリシーが適用されます。商標ポリシーも、Web サイトで参照することができます。ロゴを使用する場合は、商標ポリシーをよくお読みください。基本的な条件は以下のとおりです。
MySQL の商標を掲載するサイトの作成者および所有者が MySQL AB ではなく、ユーザ自身であることを明確にする。
MySQL AB や MySQL AB の商標の価値にマイナスとなるような使い方をしない。当社は、MySQL AB の商標の使用権を無効にする権利を留保している。
GPL に基づく MySQL データベースを使用する場合、アプリケーションはオープンソースであると同時に、MySQL サーバに接続可能でなければならない。
ニーズに合わせた特別な調整に関する質問については、trademark@mysql.com に電子メールでお問い合わせください。
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
以下の場合、MySQL のロゴを使用するには、MySQL AB からの書面による許可が事前に必要となります。
MySQL AB のロゴを掲載する場合
MySQL AB のロゴを Web サイトやその他の場所に掲載する場合
法律上および商業上の理由から、当社は、製品や書籍などにおける MySQL の商標の使用を監視します。通常、商用製品に MySQL AB のロゴを掲載する場合には料金をいただきます。収益の一部が MySQL データベースの今後の開発資金として使用されるのが適切だと考えるためです。
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
MySQL のパートナシップロゴを使用できるのは、MySQL AB と書面によるパートナシップ契約を結んでいる企業および個人のみです。パートナシップには、MySQL の講師またはコンサルタントとしての認定も含まれます。詳細については、 「1.3.1.5 パートナ提携」 を参照してください。
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
MySQL という言葉の使用
MySQL AB は MySQL データベースの参照を歓迎しますが、MySQL という言葉は MySQL AB の商標であることに注意してください。そのため、テキスト内で MySQL という言葉を最初に使用する箇所や最も目立つように使用する箇所には商標記号(TM)を添え、必要に応じて、MySQL が MySQL AB の商標であることを記載する必要があります。詳細については、商標ポリシー(http://www.mysql.com/company/trademark.html )を参照してください。
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
MySQL という言葉の使用
製品名、企業名、またはインターネットドメイン名に MySQL という言葉を使用する場合は、MySQL AB からの書面による許可が必要です。
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
このセクションでは、MySQL 4.0、4.1、5.0、および 5.1 で実装または計画されている主な機能を含む、MySQL の開発ロードマップのスナップショットを提供します。バージョンシリーズごとの情報については、以下のセクションを参照してください。次の表は、最も要望があった機能の一部についての計画をまとめたものです。
| 機能 | MySQL バージョン |
| UNION | 4.0 |
| サブクエリ | 4.1 |
| R-tree | 4.1(MyISAM テーブル用) |
| ストアドプロシージャ | 5.0 |
| ビュー | 5.0 または 5.1 |
| カーソル | 5.0 |
| 外部キー | 5.1(InnoDBについては 3.23 で実装済み) |
| トリガ | 5.1 |
| Full OUTER JOIN | 5.1 |
| 制約 | 5.1 |
| 1.5.1 MySQL 4.0 の概要 | ||
| 1.5.2 MySQL 4.1 の概要 | ||
| 1.5.3 MySQL 5.0、次期開発リリース |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
ユーザが長い間待ち望んでいた MySQL サーバ 4.0 が運用ステータスで使用可能になりました。
MySQL 4.0 は、http://www.mysql.com/ および当社のミラーからダウンロードすることができます。MySQL 4.0 は多数のユーザによってテストされ、多数の大規模サイトで運用されています。
MySQL サーバ 4.0 の主な新機能は、当社の既存のビジネスおよびコミュニティユーザ向けに設計されており、ミッションクリティカルで負荷が高いデータベースシステムに対応したソリューションとして MySQL データベースソフトウェアを拡張します。組み込みデータベースのユーザを対象とした新機能もあります。
MySQL 4.0 は、2003 年 3 月にリリースされたバージョン 4.0.12 で、運用について安定していると宣言されました。そのため、今後、4.0 シリーズについてはバグ修正のみが行われ、古い 3.23 シリーズについては重大なバグ修正のみが行われることになります。 「2.5.2 バージョン 3.23 から 4.0 へのアップグレード」 節 参照 。
すでに使用可能な MySQL 4.1(アルファバージョン)には、MySQL ソフトウェアの新機能が追加されます。 「1.5.2 MySQL 4.1 の概要」 節 参照 。
| 1.5.1.1 MySQL 4.0 で使用可能な機能 | ||
| 1.5.1.2 組み込み MySQL サーバ |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
INSERT ステートメント、パックされたインデックスの検索、FULLTEXT インデックスの作成、および COUNT(DISTINCT) など、いくつかの領域で MySQL サーバの速度がさらに向上している。
InnoDB ストレージエンジンが MySQL サーバの標準機能として提供されるようになった。つまり、ACID トランザクションの完全サポート、連鎖 UPDATE および DELETE を使用した外部キー、および行レベルのロックが標準機能となっている。 「7.5 InnoDB テーブル」 節 参照 。
FULLTEXT 検索機能によって、大きいテキストの FULLTEXT インデックスが、バイナリと自然言語の両方の検索ロジックで作成可能になった。最小ワード長をカスタマイズし、任意の自然言語で独自のストップワード一覧を定義することができるため、MySQL サーバ上に新しいアプリケーションセットを構築することができる。 「6.8 MySQL 全文検索」 節 参照 。
TRUNCATE TABLE がある。
UNION ステートメントがサポートされるようになった。これは、多数のユーザが長い間待ち望んでいた標準の SQL 機能である。
MySQL で新しいキャラクタセット latin1_de がサポートされるようになり、ドイツ語のソート順では、ウムラウトを含む単語がドイツの電話帳と同じ順序でソートされる。
mysqld パラメータ(スタートアップオプション)が、サーバを停止しなくても設定できるようになった。これは、データベース管理者(DBA)にとって便利な機能である。 「5.5.6 SET 構文」 節 参照 。
DELETE および UPDATE ステートメントが追加された。
MyISAM ストレージエンジンにテーブルレベルの(以前のようにデータベースレベルのみではない)シンボリックリンクのサポートが追加された。また、Windows では、データベースレベルにおけるシンボリックリンクの処理がデフォルトで有効である。
SQL_CALC_FOUND_ROWS と FOUND_ROWS() を使用すると、LIMIT 節を含む SELECT クエリがその節を含めない場合に返すレコードの数を調べることができる。
このマニュアルのニュースセクションに、機能の詳細な一覧があります。 「D.3 Changes in release 4.0.x (Production)」 節 参照 。
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
libmysqld によって、MySQL サーバはアプリケーションの大規模展開に対応します。組み込み MySQL サーバライブラリを使用すると、さまざまなアプリケーションや電子機器に MySQL サーバを組み込むことができます。それらのアプリケーションや電子機器のエンドユーザには、実際はそれらの基になっているデータベースがあるということはわかりません。組み込み MySQL サーバは、インターネット機器、パブリックキオスク、ハードウェアとソフトウェアが組み合わさったターンキー装置、高性能インターネットサーバ、CD-ROMで配布されている独立言語型データベースなどの背後での使用に最適です。
libmysqld の多くのユーザは、MySQL のデュアルライセンスの恩恵を受けます。GPL に拘束されたくないユーザは、商用ライセンスに基づいてソフトウェアを使用することもできます。組み込み MySQL ライブラリでは通常のクライアントライブラリと同じインタフェースが使用されているので、使いやすく、便利です。 「11.1.15 組み込み MySQL サーバライブラリ libmysqld」 節 参照 。
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
MySQL サーバ 4.0 は、サブクエリや Unicode などの新機能(バージョン 4.1 で実装)および SQL-99 ストアドプロシージャの開発(バージョン 5.0 で実装)の基礎となっています。これらの機能は、当社のお客様からの要望が最も高いものです。
これらの追加機能によって、MySQL データベースサーバの批評家は、MySQL データベース管理システムの問題を指摘する際に、これまで以上に想像力が必要になります。その安定性、速度、使いやすさですでによく知られている MySQL サーバは、非常に多くを望む購入者の条件リストを満たすことができます。
| 1.5.2.1 MySQL 4.1 で使用可能な機能 | ||
| 1.5.2.2 段階的ロールアウト | ||
| 1.5.2.3 即時の開発用途への対応 |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
このセクションに記載されている機能は、MySQL 4.1 に実装されています。MySQL 4.1 には、他にも計画されている機能があります。 「1.6.1 4.1 で計画されている新機能」 節 参照 。
ストアドプロシージャなど、コード化されるほとんどの新機能は MySQL 5.0 で使用できるようになります。 「1.6.2 5.0 で計画されている新機能」 節 参照 。
SELECT ステートメントである。派生テーブル(名前のないビュー)とは、別のステートメントの FROM 節内のサブクエリである。 「6.4.2 サブクエリ構文」 節 参照 。
HEAP テーブルについて B-TREE インデックスの作成がサポートされるようになり、正確でない検索の応答時間が大幅に短縮される。
CREATE TABLE table_name2 LIKE table_name1 を使用することで、既存のテーブルとまったく同じ構造の新しいテーブルを 1 つのステートメントで作成することができる。
SHOW WARNINGS は、最後のコマンドの警告を表示する。 「4.6.8.9 SHOW WARNINGS | ERRORS」 節 参照 。
utf8 および ucs2 キャラクタセットによる幅広い Unicode サポートが提供されるようになった。
HELP コマンドを追加した。サーバ側でこの情報を取得できるメリットは、情報が常にその特定のサーババージョンに該当する点である。この情報は SQL ステートメントを発行することで参照できるので、任意のクライアントをそれにアクセスするように記述することができる。たとえば、mysql コマンドラインクライアントはこの機能を使用できるように変更されている。
INSERT ... ON DUPLICATE KEY UPDATE ... 構文が実装された。この構文を使用すると、INSERT によって PRIMARY または UNIQUE キー(インデックス)で重複が発生した場合に既存のレコードを更新することができる。 「6.4.3 INSERT 構文」 節 参照 。
GROUP_CONCAT() を実装した。この関数によって、グループ化されたレコードのカラムを 1 つの結果文字列に連結する非常に便利な機能が追加される。 「6.3.7 GROUP BY 節で使用する関数と修飾子」 節 参照 。
このマニュアルのニュースセクションに、機能の詳細な一覧があります。 「D.2 Changes in release 4.1.x (Alpha)」 節 参照 。