MySQL 5.1 リファレンスマニュアル

Copyright 1997-2008 MySQL AB, 2008 Sun Microsystems, Inc.

このマニュアルの配布は、GPL ライセンスに基づきません。このマニュアルは次に従い利用できます:あなた自身の個人使用のためだけに、本書をプリントすることができます。中身を別のもの変えたり編集したりしない限り、他のフォーマットに変換することは許可されます。あなたは次に述べる方法を除き、本書をどのようなフォーマットや発行媒体であれ発行したり配布してはいけません。それは、Sun の配布方法に類似した方法、すなわち電子的にウェブサイトからソフトウェアを使ってダウンロードする方法、または同ソフトウェアと伴に配布される CD-ROM などのメディアを使った方法です。これ以外の方法は、たとえばプリントしたコピーを配布したり、一部やすべてを他の出版物に転載する場合には、Sun Microsystems, Inc. から事前に書面による許可を必要とします。上記に明示されない限り、Sun Microsystems, Inc. はこの文書にすべての権利を保有します。

詳細は まで日本語でご連絡ください

Copyright 1997-2008 MySQL AB, 2008 Sun Microsystems, Inc.

This documentation is NOT distributed under a GPL license. Use of this documentation is subject to the following terms: You may create a printed copy of this documentation solely for your own personal use. Conversion to other formats is allowed as long as the actual content is not altered or edited in any way. You shall not publish or distribute this documentation in any form or on any media, except if you distribute the documentation in a manner similar to how Sun disseminates it (that is, electronically for download on a Web site with the software) or on a CD-ROM or similar medium, provided however that the documentation is disseminated together with the software on the same medium. Any other use, such as any dissemination of printed copies or use of this documentation, in whole or in part, in another publication, requires the prior written consent from an authorized representative of Sun Microsystems, Inc. Sun Microsystems, Inc. and MySQL AB reserve any and all rights to this documentation not expressly granted above.

Please contact the Documentation Team for more information or if you are interested in doing a translation.

概要

本書はMySQLのリファレンスマニュアルです。MySQLの 5.1 から 5.1.15-betaについて解説します。

本書の作成日: 2009-03-14 (revision: 501)


目次

はじめに
1. 一般情報
1.1. このマニュアルについて
1.2. このマニュアルの表記規則
1.3. MySQL AB の概要
1.4. MySQL データベース管理システムの概要
1.4.1. MySQL とは?
1.4.2. MySQL の歴史
1.4.3. MySQL の主な機能
1.5. MySQL の開発ロードマップ
1.5.1. MySQL 5.1 での新機能
1.5.2. MySQL 5.2で計画されている新機能
1.6. MySQL の情報源
1.6.1. MySQL メーリング リスト
1.6.2. MySQL フォーラムにおける MySQL コミュニティサポート
1.6.3. IRC(インターネット リレー チャット)の MySQL コミュニティ サポート
1.7. 質問またはバグの報告
1.8. MySQLの標準への準拠
1.8.1. MySQLが準拠する標準
1.8.2. SQLモードの選択
1.8.3. ANSIモードでのMySQLの実行
1.8.4. SQL標準に対するMySQL拡張機能
1.8.5. MySQLと標準SQLとの違い
1.8.6. MySQL における制約の処理
2. MySQL のインストールと更新
2.1. 一般的なインストールの問題
2.1.1. MySQL Community Server がサポートしているオペレーティング システム
2.1.2. インストールする MySQL 配布版の選択
2.1.3. MySQL の取得方法
2.1.4. MD5 チェックサムあるいは GnuPGを用いたパッケージの品質の検証
2.1.5. インストールのレイアウト
2.2. バイナリの配布を使用した標準 MySQL のインストール
2.3. Windows に MySQL をインストールする
2.3.1. インストール用パッケージの選択
2.3.2. 自動インストーラで MySQL をインストールする
2.3.3. MySQL インストール ウイザードを使用する
2.3.4. 設定ウイザードを使用する
2.3.5. 非インストール Zip アーカイブからのインストール
2.3.6. インストール アーカイブを取り出す
2.3.7. オプション ファイルの作成
2.3.8. MySQL サーバ タイプの選択
2.3.9. サーバを最初に起動する
2.3.10. MySQL の Windows のコマンドラインからの起動
2.3.11. Windows のサービスとして MySQL を起動する
2.3.12. MySQL インストールのテスト
2.3.13. Windows への MySQL インストールにおけるトラブルシューティング
2.3.14. Windows を使用した MySQL をアップグレードする
2.3.15. Windows 上の MySQL と Unix 上の MySQL の比較
2.4. Linux に MySQL をインストールする
2.5. Mac OS X に MySQL をインストールする
2.6. Solaris に MySQL をインストールする
2.7. MySQL を NetWare にインストールする
2.8. 他の Unix 系システムへの MySQL のインストール
2.9. ソースのディストリビューションを使用した MySQL のインストール
2.9.1. ソースのインストール概要
2.9.2. 典型的な configure オプション
2.9.3. 開発ソース ツリーからのインストール
2.9.4. MySQL のコンパイルに関する問題
2.9.5. MIT-pthreads ノート
2.9.6. Windows にソースから MySQL をインストールする
2.9.7. Windows で MySQL クライアントをコンパイルする
2.10. インストール後の設定とテスト
2.10.1. Windows のインストール後のプロシージャ
2.10.2. Unix のインストール後のプロシージャ
2.10.3. 最初の MySQL アカウントの確保
2.11. MySQL のアップグレード
2.11.1. MySQL 5.0 から 5.1 へのアップグレード
2.11.2. MySQL データベースの他のマシンへのコピー
2.12. MySQL のダウングレード
2.12.1. MySQL 5.0 へのダウングレード
2.13. オペレーティング システムに特化した注釈
2.13.1. Linux の注釈
2.13.2. Mac OS X に関する注釈
2.13.3. Solaris に関する注釈
2.13.4. BSD に関する注釈
2.13.5. 他の Unix に関する注釈
2.13.6. OS/2 に関する注釈
2.14. 環境変数
2.15. Perl のインストールに関する注釈
2.15.1. Unix に Perl をインストールする
2.15.2. Windows に ActiveState Perl をインストールする
2.15.3. Perl DBI/DBD インターフェースを使用した際の問題
3. MySQL プログラムの使用
3.1. MySQL プログラム の概要
3.2. MySQL プログラムの起動
3.3. プログラム・オプションの指定
3.3.1. コマンドラインにおけるオプションの使用
3.3.2. オプションファイルの使用
3.3.3. オプション指定のための環境変数の使用
3.3.4. プログラム変数セットのためのオプション使用
4. データベース管理
4.1. サーバ サイド プログラムの概略
4.2. mysqld ? MySQL サーバ
4.2.1. オプションと変数のリファレンス
4.2.2. コマンド オプション
4.2.3. システム変数
4.2.4. システム変数の使用
4.2.5. ステータス変数
4.2.6. SQL モード
4.2.7. シャットダウン プロセス
4.2.8. サーバ サイド ヘルプ
4.3. MySQL サーバ スタートアップ プログラム
4.3.1. mysqld_safe ? MySQL サーバ スタートアップ スクリプト
4.3.2. mysql.server ? MySQL サーバ スタートアップ スクリプト
4.3.3. mysqld_multi ? 複数のMySQL サーバ管理
4.4. mysqlmanager ? MySQL Instance Manager
4.4.1. MySQL Instance Manager コマンド オプション
4.4.2. MySQL Instance Manager の設定ファイル
4.4.3. MySQL Instance Manager で MySQL Server の起動
4.4.4. Instance Manager のユーザとパスワード管理
4.4.5. MySQL サーバ インスタンス ステータスの監視
4.4.6. MySQL Instance Manager へ接続
4.4.7. MySQL Instance Manager のコマンド
4.5. インストール関連プログラム
4.5.1. make_win_bin_dist ? Package MySQL 配布 (ZIP アーカイブ)
4.5.2. mysql_fix_privilege_tables ? MySQL システム テーブルのアップグレード
4.5.3. mysql_install_db ? MySQL データ ディレクトリ 初期化スクリプト
4.5.4. mysql_upgrade ? MySQL アップグレードのテーブル チェック
4.5.5. mysql_tzinfo_to_sql ? タイム ゾーン テーブルのロード
4.6. セキュリティ問題
4.6.1. セキュリティ ガイドライン
4.6.2. MySQL のクラッカー対策
4.6.3. セキュリティ関連の mysqld オプション
4.6.4. LOAD DATA LOCAL のセキュリティ関連事項
4.6.5. ユーザによる MySQL の実行
4.7. MySQL アクセス権限システム
4.7.1. 権限システムの役割
4.7.2. 権限システムの機能
4.7.3. MySQL 提供の権限
4.7.4. MySQL サーバへの接続
4.7.5. アクセス制御の段階 1: 接続確認
4.7.6. アクセス制御の段階 2: 接続確認
4.7.7. 権限の変更が反映するタイミング
4.7.8. Access denied エラーの原因
4.7.9. MySQL 4.1 のパスワードハッシュ
4.8. MySQL ユーザ アカウント管理
4.8.1. MySQL ユーザ名とパスワード
4.8.2. MySQL への新規ユーザの追加
4.8.3. MySQL ユーザの削除
4.8.4. ユーザ リソースの制限
4.8.5. パスワードの設定
4.8.6. パスワードのセキュリティ
4.8.7. 接続安全
4.9. バックアップとリカバリ
4.9.1. データベースのバックアップ
4.9.2. バックアップとリカバリ手法の例示
4.9.3. 任意時点のリカバリ
4.9.4. テーブル保守とクラッシュ リカバリ
4.10. MySQL のローカライズと国際的使用
4.10.1. データおよびソート用キャラクタ セット
4.10.2. 英語以外のエラーメッセージ
4.10.3. 新しいキャラクタ セットの追加
4.10.4. キャラクタ定義配列
4.10.5. 文字列照合サポート
4.10.6. マルチ バイト文字サポート
4.10.7. キャラクタ セットに関する問題
4.10.8. MySQL サーバのタイム ゾーン サポート
4.10.9. MySQL サーバのローケル サポート
4.11. MySQL サーバ ログ
4.11.1. 一般クエリとスロー クエリのログ出力先の選択
4.11.2. エラー ログ
4.11.3. 一般クエリ ログ
4.11.4. バイナリ ログ
4.11.5. スロー クエリ ログ
4.11.6. ログ ファイルの保守
4.12. 同じマシン上での複数 MySQL サーバの実行
4.12.1. Windows で複数サーバの実行
4.12.2. Unix で複数サーバの実行
4.12.3. 複数サーバ環境でのクライアントプログラムの使用
4.13. MySQL クエリ キャッシュ
4.13.1. クエリ キャッシュの動作
4.13.2. クエリ キャッシュでの SELECT オプション
4.13.3. クエリ キャッシュの設定
4.13.4. クエリ キャッシュのステータスと保守
5. レプリケーション
5.1. レプリケーション設定
5.1.1. レプリケーションのセットアップ方法
5.1.2. レプリケーション フォーマット
5.1.3. レプリケーションのオプションと変数
5.1.4. レプリケーションでの管理タスク
5.2. Replication Topologies
5.2.1. Replication with a Single Slave
5.2.2. Replication with Multiple Slaves
5.2.3. Replication with Two Masters
5.2.4. Replication with Circular Masters
5.2.5. Replication Chains
5.2.6. Replicating Multiple Masters to One Slave
5.3. レプリケーション ソリューション
5.3.1. バックアップのレプリケーション
5.3.2. ストレージ エンジンが異なるマスタとスレーブのレプリケーション
5.3.3. スケールアウトのレプリケーション
5.3.4. 異なるデータベースから異なるスレーブへのレプリケーション
5.3.5. レプリケーション パフォーマンスの改善
5.3.6. フェイルオーバでのマスタ切り替え
5.3.7. SSLを使用するレプリケーションの設定
5.4. レプリケーション ノートとヒント
5.4.1. レプリケーション機能と既知問題
5.4.2. MySQL バージョン間のレプリケーション互換性
5.4.3. レプリケーション セットアップのアップグレード
5.4.4. レプリケーション FAQ
5.4.5. レプリケーションのトラブルシューティング
5.4.6. レプリケーション バグまたは問題を報告する方法
5.5. レプリケーションの実装
5.5.1. レプリケーション実装の詳細
5.5.2. マスタレプリケーションのスレッド状態
5.5.3. スレーブ レプリケーションの I/O スレッド状態
5.5.4. スレーブ レプリケーションの SQL スレッド状態
5.5.5. レプリケーション リレーとステータス ファイル
5.5.6. サーバのレプリケーション ルール評価
6. 最適化
6.1. 最適化の概要
6.1.1. MySQL の設計上の制約とトレードオフ
6.1.2. 移植性のためのアプリケーション設計
6.1.3. MySQL 使用実績
6.1.4. MySQL ベンチマークスィート
6.1.5. 独自のベンチマークの使用
6.2. SELECTステートメントおよびその他のクエリの最適化
6.2.1. EXPLAINを使用して、クエリを最適化する
6.2.2. クエリパフォーマンスの推定
6.2.3. SELECTクエリの速度
6.2.4. WHERE 節最適化
6.2.5. Range 最適化
6.2.6. インデックス結合最適化
6.2.7. IS NULL最適化
6.2.8. DISTINCT最適化
6.2.9. LEFT JOINRIGHT JOIN最適化
6.2.10. 入れ子結合最適化
6.2.11. 外側Join 単純化
6.2.12. ORDER BY最適化
6.2.13. GROUP BY最適化
6.2.14. LIMITの最適化
6.2.15. テーブルスキャンを避ける方法
6.2.16. INSERTステートメントの速度
6.2.17. UPDATEステートメントの速度
6.2.18. DELETEステートメントの速度
6.2.19. その他の最適化のヒント
6.3. ロック関連の問題
6.3.1. MySQL のテーブルロック方法
6.3.2. テーブルロック関連の問題
6.3.3. 同時挿入
6.4. データベース構造の最適化
6.4.1. 設計上の選択
6.4.2. データの小型化
6.4.3. カラムインデックス
6.4.4. 複合インデックス
6.4.5. MySQLにおけるインデックスの使用
6.4.6. MyISAMキーキャッシュ
6.4.7. MyISAMインデックス統計コレクション
6.4.8. MySQL でのテーブルのオープンとクローズの方法
6.4.9. 1 つのデータベースに大量のテーブルを作成した場合の欠点
6.5. MySQL サーバの最適化
6.5.1. システム、コンパイル時間およびスタートアップパラメータのチューニング
6.5.2. サーバパラメータのチューニング
6.5.3. クエリオプティマイザパフォーマンスの管理
6.5.4. MySQL の速度に対するコンパイルとリンクの影響
6.5.5. MySQL でのメモリの使用
6.5.6. MySQLの DNS の使用
6.6. ディスク関連の問題
6.6.1. シンボリックリンクの使用
7. クライアントプログラムとユーティリティ プログラム
7.1. クライアントプログラムとユーティリティ プログラムの概要
7.2. my_print_defaults ? オプション ファイルから オプションを表示する
7.3. myisam_ftdump ? フル テキスト インデックス情報を表示する
7.4. myisamchk ? MyISAM テーブル メンテナンス ユーティリティ
7.4.1. myisamchk 一般的なオプション
7.4.2. myisamchk チェック オプション
7.4.3. myisamchk修復オプション
7.4.4. 他の myisamchk オプション
7.4.5. myisamchkメモリ使用量
7.5. myisamlog ? Display MyISAM Log File Contents
7.6. myisampack ? 圧縮された、読み取り専用MyISAM テーブルを作成する。
7.7. mysql ? MySQL コマンド ライン ツール
7.7.1. mysql オプション
7.7.2. mysql Commands
7.7.3. mysqlサーバサイドヘルプ
7.7.4. テキストファイルからSQLステートメントを実行する
7.7.5. mysqlヒント
7.8. mysqlaccess ? アクセス権限をチェックするクライアント
7.9. mysqladmin ? MySQL サーバの管理を行うクライアント
7.10. mysqlbinlog ? バイナリログファイルを処理するためのユーティリティ
7.11. mysqlcheck ? テーブル メンテナンスと修復プログラム
7.12. mysqldump ? データベースバックアッププログラム
7.13. mysqlhotcopy ? データベースバックアッププログラム
7.14. mysqlimport ? データインポートプログラム
7.15. mysqlshow ? データベース、テーブル、カラム情報を表示します。
7.16. mysqlslap ? クライアント負荷エミュレーション
7.17. mysql_zap ? パターンとマッチする処理を消去します。
7.18. perror ? エラーコードの説明
7.19. replace ? 文字列置き換えユーティリティ
8. 言語構造
8.1. リテラル値
8.1.1. 文字列
8.1.2. 数値
8.1.3. 16 進値
8.1.4. ブール値
8.1.5. ビットフィールド値
8.1.6. NULL
8.2. 識別子
8.2.1. 識別子の修飾語
8.2.2. 識別子の大文字/小文字区別
8.2.3. ファイル名への識別子のマッピング
8.2.4. 構文解析と解像度のファンクション名
8.3. MySQLでの予約語の扱い
8.4. ユーザによって定義された変数
8.5. コメント構文
9. キャラクタセットサポート
9.1. 一般のキャラクタセットおよび照合順序
9.2. MySQLにおけるキャラクタセットおよび照合順序
9.3. デフォルトのキャラクタセットおよび照合順序の指定
9.3.1. サーバのキャラクタセットおよび照合順序
9.3.2. データベースのキャラクタセットおよび照合順序
9.3.3. テーブルのキャラクタセットおよび照合順序
9.3.4. カラムのキャラクタセットおよび照合順序
9.3.5. 文字列リテラルのキャラクタセットおよび照合順序
9.3.6. 各国キャラクタセット
9.3.7. キャラクタセットと照合順序の割り当ての例
9.3.8. 他のDBMSとの互換性
9.4. 接続のキャラクタセットおよび照合順序
9.5. 照合順序に関して
9.5.1. SQLステートメントCOLLATE節を使用する
9.5.2. COLLATE節の優先順位
9.5.3. BINARY オペレータ
9.5.4. 照合順序を決定するのが難しい特殊なケース
9.5.5. 照合順序は適切なキャラクタセットに対応していること。
9.5.6. 照合順序がもたらす結果の例
9.6. キャラクタセットのサポートによる影響を受ける演算
9.6.1. 結果文字列
9.6.2. CONVERT()CAST()
9.6.3. SHOW ステートメントとINFORMATION_SCHEMA
9.7. Unicodeのサポート
9.8. メタデータ用の UTF8
9.9. カラムキャラクタセット変換
9.10. MySQL でサポートされるキャラクタセットと照合順序
9.10.1. Unicode キャラクタセット
9.10.2. 西ヨーロッパのキャラクタセット
9.10.3. 中央ヨーロッパのキャラクタセット
9.10.4. 南ヨーロッパおよび中東のキャラクタセット
9.10.5. バルト語のキャラクタセット
9.10.6. キリル語のキャラクタセット
9.10.7. アジアのキャラクタセット
10. データタイプ
10.1. データタイプ概要
10.1.1. 数値タイプの概要
10.1.2. データと時刻タイプの概要
10.1.3. 文字列タイプの概要
10.1.4. データタイプデフォルト値
10.2. 数値タイプ
10.3. 日付と時刻タイプ
10.3.1. DATETIMEDATE、そして TIMESTAMP タイプ
10.3.2. TIME タイプ
10.3.3. YEAR タイプ
10.3.4. 2000年問題とデータタイプ
10.4. 文字列タイプ
10.4.1. CHARVARCHAR タイプ
10.4.2. BINARYVARBINARY タイプ
10.4.3. BLOBTEXT タイプ
10.4.4. ENUM タイプ
10.4.5. SET タイプ
10.5. データタイプが必要とする記憶容量
10.6. カラムに適したタイプの選択
10.7. その他のデータベースエンジンのデータタイプの利用
11. 関数と演算子
11.1. 演算子
11.1.1. 演算子の優先順位
11.1.2. 式評価でのタイプ変換
11.1.3. 比較関数と演算子
11.1.4. 論理演算子
11.2. 制御フロー関数
11.3. 文字列関数
11.3.1. 文字列比較関数
11.3.2. 正規表現
11.4. 数字関数
11.4.1. 算術演算子
11.4.2. 数学関数
11.5. 日付時刻関数
11.6. MySQL が使用するカレンダーは ?
11.7. 全文検索関数
11.7.1. ブール全文検索
11.7.2. クエリ拡張を伴う全文検索
11.7.3. 全文ストップワード
11.7.4. 全文制限
11.7.5. 微調整 MySQL 全文検索
11.8. キャスト関数と演算子
11.9. XML 関数
11.10. その他の関数
11.10.1. ビット関数
11.10.2. 暗号化関数と圧縮関数
11.10.3. 情報関数
11.10.4. その他の関数
11.11. GROUP BY 句との関数および修飾子の使用
11.11.1. GROUP BY ( 集約 ) 関数
11.11.2. GROUP BY 修飾子
11.11.3. 非常時フィールドとの GROUP BY および HAVING
12. SQL ステートメント構文
12.1. データ定義ステートメント
12.1.1. ALTER DATABASE 構文
12.1.2. ALTER TABLE 構文
12.1.3. ALTER LOGFILE GROUP 構文
12.1.4. ALTER TABLESPACE 構文
12.1.5. ALTER SERVER 構文
12.1.6. CREATE DATABASE 構文
12.1.7. CREATE INDEX 構文
12.1.8. CREATE TABLE 構文
12.1.9. CREATE LOGFILE GROUP 構文
12.1.10. CREATE TABLESPACE 構文
12.1.11. CREATE SERVER 構文
12.1.12. DROP DATABASE 構文
12.1.13. DROP INDEX 構文
12.1.14. DROP TABLE 構文
12.1.15. DROP LOGFILE GROUP 構文
12.1.16. DROP TABLESPACE 構文
12.1.17. DROP SERVER 構文
12.1.18. RENAME DATABASE 構文
12.1.19. RENAME TABLE 構文
12.2. データ取り扱いステートメント
12.2.1. DELETE 構文
12.2.2. DO 構文
12.2.3. HANDLER 構文
12.2.4. INSERT 構文
12.2.5. LOAD DATA INFILE 構文
12.2.6. REPLACE 構文
12.2.7. SELECT 構文
12.2.8. サブクエリ構文
12.2.9. TRUNCATE 構文
12.2.10. UPDATE 構文
12.3. MySQL ユーティリティ ステートメント
12.3.1. DESCRIBE 構文
12.3.2. HELP 構文
12.3.3. USE 構文
12.4. MySQL トランザクションとロッキング関連のステートメント
12.4.1. START TRANSACTIONCOMMIT、そして ROLLBACK 構文
12.4.2. ロールバックできないステートメント
12.4.3. 暗黙のコミットを引き起こすステートメント
12.4.4. SAVEPOINTROLLBACK TO SAVEPOINT 構文
12.4.5. LOCK TABLESUNLOCK TABLES 構文
12.4.6. SET TRANSACTION 構文
12.4.7. XA トランザクション
12.5. データベース管理ステートメント
12.5.1. アカウント管理ステートメント
12.5.2. テーブル メンテナンス ステートメント
12.5.3. SET 構文
12.5.4. SHOW 構文
12.5.5. その他の管理ステートメント
12.6. 複製ステートメント
12.6.1. マスタ サーバをコントロールする SQL ステートメント
12.6.2. スレーブ サーバをコントロールする SQL ステートメント
12.7. プリペアド ステートメントの為の SQL 構文
13. ストレージエンジンとテーブルタイプ
13.1. MySQLストレージエンジンアーキテクチャの概要
13.1.1. 共通データベースサーバ層
13.1.2. プラガブルなストレージエンジンアーキテクチャ
13.2. サポートされたストレージエンジン
13.2.1. ストレージエンジンの選択
13.2.2. トランザクションエンジンと、非トランザクションエンジンの比較
13.2.3. その他のストレージエンジン
13.3. ストレージエンジンの設定
13.4. MyISAM ストレージエンジン
13.4.1. MyISAM スタートアップオプション
13.4.2. キーに必要な領域
13.4.3. MyISAM テーブルストレージフォーマット
13.4.4. MyISAM テーブルの問題点
13.5. InnoDB ストレージ エンジン
13.5.1. InnoDB 概要
13.5.2. InnoDB 連絡先情報
13.5.3. InnoDB 設定
13.5.4. InnoDB 起動オプションとシステム変数
13.5.5. InnoDB テーブルスペースを作成する
13.5.6. InnoDB テーブルの作成と利用
13.5.7. InnoDB データとログ ファイルの追加と削除
13.5.8. InnoDB データベースのバックアップと復旧
13.5.9. InnoDB データベースを別のマシンに移動する
13.5.10. InnoDB トランザクション モデルとロック
13.5.11. InnoDB パフォーマンス チューニング ヒント
13.5.12. マルチバージョンの実装
13.5.13. InnoDB テーブルとインデックス構造
13.5.14. InnoDB ファイル領域の管理とディスク I/O
13.5.15. InnoDB エラー処理
13.5.16. InnoDB テーブル上の制約
13.5.17. InnoDB トラブルシューティング
13.6. MERGE ストレージエンジン
13.6.1. MERGE テーブルの問題点
13.7. MEMORY (HEAP) ストレージエンジン
13.8. EXAMPLE ストレージエンジン
13.9. FEDERATED ストレージエンジン
13.9.1. FEDERATED ストレージエンジン概要
13.9.2. FEDERATED テーブルの作成方法
13.9.3. FEDERATED ストレージエンジン  注意とヒント
13.9.4. FEDERATED ストレージエンジンリソース
13.10. ARCHIVE ストレージエンジン
13.11. CSV ストレージエンジン
13.11.1. CSVテーブル修正と確認
13.11.2. CSV制限
13.12. BLACKHOLE ストレージエンジン
14. MySQL Cluster
14.1. MySQL Cluster の概要
14.2. 基本的な MySQL Cluster のコンセプト
14.2.1. MySQL Cluster ノード、ノード グループ、レプリカ、およびパーテッション
14.3. 簡単なマルチ コンピューターの手引き
14.3.1. ハードウェア、ソフトウェア、およびネットワークの構築
14.3.2. マルチ コンピュータのインストール
14.3.3. マルチ コンピュータの設定
14.3.4. 最初の起動
14.3.5. サンプル データのローディングとクエリの実行
14.3.6. 安全なシャットダウンと再起動
14.4. MySQL Cluster の設定
14.4.1. ソースコードによる MySQL Cluster の構築
14.4.2. ソフトウェアのインストール
14.4.3. MySQL Cluster の簡単なテストの設定
14.4.4. 設定ファイル
14.4.5. クラスタ設定パラメータの概要
14.4.6. ローカル チェックポイントのパラメータの設定
14.5. MySQL Cluster のアップグレードおよびダウンロード
14.5.1. クラスタのローリング再起動の実行
14.5.2. クラスタのアップグレードおよびダウングレードの互換性
14.6. MySQL Cluster のプロセス管理
14.6.1. MySQL Cluster のための MySQL Server プロセスの使用法
14.6.2. ndbd、ストレージ エンジン ノード プロセス
14.6.3. ndb_mgmd、マネジメント サーバープロセス
14.6.4. ndb_mgm、マネジメント クライアント プロセス
14.6.5. MySQL Cluster プロセスのコマンド オプション
14.7. MySQL Cluster の管理
14.7.1. MySQL Cluster 起動フェーズ
14.7.2. マネジメント クライアントのコマンド
14.7.3. MySQL Cluster で生成されたイベント レポート
14.7.4. 単一ユーザーモード
14.8. MySQL Cluster のオンライン バックアップ
14.8.1. クラスタ バックアップの概念
14.8.2. バックアップを作成するためのマネジメント クライアントの使用
14.8.3. クラスタのバックアップの復旧方法
14.8.4. クラスタ バックアップの設定
14.8.5. バックアップのトラブルシューティング
14.9. クラスタ ユーティリティ プログラム
14.9.1. ndb_config ? NDB 設定情報の抽出
14.9.2. ndb_delete_all ? NDB テーブルからのすべての行を削除する
14.9.3. ndb_desc ? NDB テーブルの説明
14.9.4. ndb_drop_index
14.9.5. ndb_drop_table
14.9.6. ndb_error_reporter
14.9.7. ndb_print_backup_file
14.9.8. ndb_print_schema_file
14.9.9. ndb_print_sys_file
14.9.10. ndb_select_all
14.9.11. ndb_select_count
14.9.12. ndb_show_tables
14.9.13. ndb_size.pl ? NDBCluster サイズ仕様エスティメーター
14.9.14. ndb_waiter
14.10. MySQL Cluster レプリケーション
14.10.1. 略語と記号
14.10.2. 仮定条件と一般要件
14.10.3. 既知の問題
14.10.4. レプリケーション スキーマおよびテーブル
14.10.5. レプリケーションにクラスタを準備する
14.10.6. レプリケーションの開始 (シングル レプリケーション チャネル)
14.10.7. 2 つのレプリケーション チャネルを使用する
14.10.8. MySQL Cluster にフェールオーバーを導入する
14.10.9. MySQL Cluster のレプリケーションによるバックアップ
14.11. MySQL Cluster ディスク データ ストレージ
14.12. MySQL Cluster での高速インターコネクトを使用する
14.12.1. SCI ソケットを使用するための MySQL Cluster の設定
14.12.2. Cluster インターコネクトの理解する
14.13. MySQL Cluster の既知の制限
14.14. MySQL Cluster 開発ロードマップ
14.14.1. MySQL 5.1 における MySQL Cluster の変更点
14.15. MySQL Cluster の用語
15. パーティショニング
15.1. MySQL パーティショニングの概要
15.2. パーティショニングのタイプ
15.2.1. RANGE パーティショニング
15.2.2. LIST 分割
15.2.3. HASH 分割
15.2.4. KEY 分割
15.2.5. サブ分割
15.2.6. MySQL分割の NULL 値の取り扱い
15.3. パーティショニング管理
15.3.1. RANGELIST パーティションの管理
15.3.2. HASHKEY パーティションの管理
15.3.3. パーティションのメンテナンス
15.3.4. パーティション情報の取得
15.4. パーティションの刈り込み
15.5. パーティショニングの制約と制限
16. Spatial Extensions
16.1. Introduction to MySQL Spatial Support
16.2. The OpenGIS Geometry Model
16.2.1. The Geometry Class Hierarchy
16.2.2. Class Geometry
16.2.3. Class Point
16.2.4. Class Curve
16.2.5. Class LineString
16.2.6. Class Surface
16.2.7. Class Polygon
16.2.8. Class GeometryCollection
16.2.9. Class MultiPoint
16.2.10. Class MultiCurve
16.2.11. Class MultiLineString
16.2.12. Class MultiSurface
16.2.13. Class MultiPolygon
16.3. Supported Spatial Data Formats
16.3.1. Well-Known Text (WKT) Format
16.3.2. Well-Known Binary (WKB) Format
16.4. Creating a Spatially Enabled MySQL Database
16.4.1. MySQL Spatial Data Types
16.4.2. Creating Spatial Values
16.4.3. Creating Spatial Columns
16.4.4. Populating Spatial Columns
16.4.5. Fetching Spatial Data
16.5. Analyzing Spatial Information
16.5.1. Geometry Format Conversion Functions
16.5.2. Geometry Functions
16.5.3. Functions That Create New Geometries from Existing Ones
16.5.4. Functions for Testing Spatial Relations Between Geometric Objects
16.5.5. Relations on Geometry Minimal Bounding Rectangles (MBRs)
16.5.6. Functions That Test Spatial Relationships Between Geometries
16.6. Optimizing Spatial Analysis
16.6.1. Creating Spatial Indexes
16.6.2. Using a Spatial Index
16.7. MySQL Conformance and Compatibility
17. ストアドプロシージャとファンクション
17.1. ストアドルーチンとグラントテーブル
17.2. ストアドルーチン構文
17.2.1. CREATE PROCEDUREおよびCREATE FUNCTION 構文
17.2.2. ALTER PROCEDURE および ALTER FUNCTION 構文
17.2.3. DROP PROCEDURE および DROP FUNCTION 構文
17.2.4. CALLステートメント構文
17.2.5. BEGIN ... END 複合ステートメント構文
17.2.6. DECLAREステートメント用構文
17.2.7. ストアドルーチン内の変数
17.2.8. 条件とハンドラ
17.2.9. カーソル
17.2.10. フローコントロール・コンストラクト
17.3. ストアドプロシージャ、ファンクション、トリガ並びにLAST_INSERT_ID()
17.4. ストアドルーチンとトリガのバイナリログ
18. トリガ
18.1. CREATE TRIGGER 構文
18.2. DROP TRIGGER 構文
18.3. トリガの使用
19. Event Scheduler
19.1. Event Scheduler Overview
19.2. Event Scheduler Syntax
19.2.1. CREATE EVENT Syntax
19.2.2. ALTER EVENT Syntax
19.2.3. DROP EVENT Syntax
19.3. Event Metadata
19.4. Event Scheduler Status
19.5. The Event Scheduler and MySQL Privileges
19.6. Event Scheduler Limitations and Restrictions
20. ビュー
20.1. ALTER VIEW 構文
20.2. CREATE VIEW 構文
20.3. DROP VIEW 構文
21. INFORMATION_SCHEMA データベース
21.1. INFORMATION_SCHEMA SCHEMATA テーブル
21.2. INFORMATION_SCHEMA TABLES テーブル
21.3. INFORMATION_SCHEMA COLUMNS テーブル
21.4. INFORMATION_SCHEMA STATISTICS テーブル
21.5. INFORMATION_SCHEMA USER_PRIVILEGES テーブル
21.6. INFORMATION_SCHEMA SCHEMA_PRIVILEGES テーブル
21.7. INFORMATION_SCHEMA TABLE_PRIVILEGES テーブル
21.8. INFORMATION_SCHEMA COLUMN_PRIVILEGES テーブル
21.9. INFORMATION_SCHEMA CHARACTER_SETS テーブル
21.10. INFORMATION_SCHEMA COLLATIONS テーブル
21.11. INFORMATION_SCHEMA COLLATION_CHARACTER_SET_APPLICABILITY テーブル
21.12. INFORMATION_SCHEMA TABLE_CONSTRAINTS テーブル
21.13. INFORMATION_SCHEMA KEY_COLUMN_USAGE テーブル
21.14. INFORMATION_SCHEMA ROUTINES テーブル
21.15. INFORMATION_SCHEMA VIEWS テーブル
21.16. INFORMATION_SCHEMA TRIGGERS テーブル
21.17. INFORMATION_SCHEMA PLUGINS テーブル
21.18. INFORMATION_SCHEMA ENGINES テーブル
21.19. INFORMATION_SCHEMA PARTITIONS テーブル
21.20. INFORMATION_SCHEMA EVENTS テーブル
21.21. INFORMATION_SCHEMA FILES テーブル
21.22. INFORMATION_SCHEMA PROCESSLIST テーブル
21.23. INFORMATION_SCHEMA REFERENTIAL_CONSTRAINTS テーブル
21.24. INFORMATION_SCHEMA GLOBAL_STATUS および SESSION_STATUS テーブル
21.25. INFORMATION_SCHEMA GLOBAL_VARIABLES および SESSION_VARIABLES テーブル
21.26. その他の INFORMATION_SCHEMA テーブル
21.27. SHOW ステートメントへの拡張
22. 精密計算
22.1. 数値のタイプ
22.2. DECIMAL データ タイプの変更
22.3. 式の取り扱い
22.4. 丸め挙動
22.5. 精密計算の例
23. APIとライブラリー
23.1. 埋め込まれたMySQLサーバライブラリ、libmysqld
23.1.1. 埋め込まれたMySQLサーバライブラリーの概括
23.1.2. libmysqld使って行うプログラムの翻訳
23.1.3. 埋め込まれたMySQLサーバの使用に対する規制
23.1.4. 埋め込まれたサーバに対するオプション
23.1.5. 埋め込まれたサーバの例
23.1.6. 埋め込まれたサーバに対するのライセンスの供与
23.2. MySQL C API
23.2.1. C APIデータタイプ
23.2.2. C API機能の概要。
23.2.3. C API機能の説明
23.2.4. 準備されたC APIステートメント。
23.2.5. 準備されたC APIステートメントデータタイプ
23.2.6. 準備されたC APIステートメント機能の概要
23.2.7. 準備されたC APIステートメント機能の詳細
23.2.8. 準備されたC API ステートメントの問題
23.2.9. マルチプルステートメントを実行するC APIハンドリング
23.2.10. 日付とタイム値のC API式取り扱い
23.2.11. C APIスレッド機能の説明
23.2.12. 埋め込まれたC API機能の説明
23.2.13. 自動再接続挙動の管理
23.2.14. C APIを使うときよく尋ねられる質問と問題
23.2.15. クライアントプログラムの構築
23.2.16. スレッド付きクライアントを作る方法
23.3. MySQL PHP API
23.3.1. MySQLとPHPに対する共通問題
23.3.2. mysqlmysqli の両方を PHP内で可能にする
23.4. MySQL Perl API
23.5. MySQL C++ API
23.6. MySQL Python API
23.7. MySQL Tcl API
23.8. MySQLエッフェルラッパー
23.9. MySQLプログラム開発ユーティリティー
23.9.1. msql2mysql ? MySQLと一緒に使うため、mSQLプログラムを変換してください。
23.9.2. mysql_config ? コンパイルオプションをコンパイルクライアントのために(用に)取得してください。
24. MySQL コネクタ
24.1. MySQL Connector/ODBC
24.1.1. Connector/ODBC の概要
24.1.2. Connector/ODBC のインストール
24.1.3. Connector/ODBC の構成
24.1.4. Connector/ODBC 例
24.1.5. Connector/ODBC 参考資料
24.1.6. Connector/ODBC に関する注釈とヒント
24.1.7. Connector/ODBC サポート
24.2. MySQL Connector/NET
24.2.1. Connector/NET のバージョン
24.2.2. Connector/NET のインストール
24.2.3. Connector/NET の例と使用ガイド
24.2.4. Connector/NET に関する注記とヒント
24.2.5. Connector/NET のサポート
24.3. MySQL Visual Studio プラグイン
24.3.1. MySQL Visual Studio プラグインのインストール
24.3.2. MySQL サーバとの接続の作成
24.3.3. MySQL Visual Studio プラグインの使用
24.3.4. Visual Studio プラグインのサポート
24.4. MySQL Connector/J
24.4.1. Connector/J バージョン
24.4.2. Connector/J のインストール
24.4.3. Connector/J 例
24.4.4. Connector/J (JDBC) の参考
24.4.5. Connector/J に関する注記とヒント
24.4.6. Connector/J のサポート
24.5. Connector/PHP
25. Extending MySQL
25.1. MySQL Internals
25.1.1. MySQL Threads
25.1.2. MySQL Test Suite
25.2. The MySQL Plugin Interface
25.2.1. Characteristics of the Plugin Interface
25.2.2. Full-Text Parser Plugins
25.2.3. INSTALL PLUGIN Syntax
25.2.4. UNINSTALL PLUGIN Syntax
25.2.5. Writing Plugins
25.3. Adding New Functions to MySQL
25.3.1. Features of the User-Defined Function Interface
25.3.2. CREATE FUNCTION Syntax
25.3.3. DROP FUNCTION Syntax
25.3.4. Adding a New User-Defined Function
25.3.5. Adding a New Native Function
25.4. Adding New Procedures to MySQL
25.4.1. Procedure Analyse
25.4.2. Writing a Procedure
A. Frequently Asked Questions About MySQL 5.1
A.1. MySQL 5.1 FAQ ? General
A.2. MySQL 5.1 FAQ ? Storage Engines
A.3. MySQL 5.1 FAQ ? Server SQL Mode
A.4. MySQL 5.1 FAQ ? Stored Procedures
A.5. MySQL 5.1 FAQ ? Triggers
A.6. MySQL 5.1 FAQ ? Stored Routines, Triggers, and Replication
A.7. MySQL 5.1 FAQ ? Views
A.8. MySQL 5.0 FAQ ? INFORMATION_SCHEMA
A.9. MySQL 5.1 FAQ ? Migration
A.10. MySQL 5.1 FAQ ? Security
A.11. MySQL 5.1 FAQ ? MySQL Cluster
A.12. MySQL 5.1 FAQ ? MySQL Chinese, Japanese, and Korean Character Sets
A.13. MySQL 5.1 FAQ ? Connectors & APIs
B. Errors, Error Codes, and Common Problems
B.1. Problems and Common Errors
B.1.1. How to Determine What Is Causing a Problem
B.1.2. Common Errors When Using MySQL Programs
B.1.3. Installation-Related Issues
B.1.4. Administration-Related Issues
B.1.5. Query-Related Issues
B.1.6. Optimizer-Related Issues
B.1.7. Table Definition-Related Issues
B.1.8. Known Issues in MySQL
B.2. Server Error Codes and Messages
B.3. Client Error Codes and Messages
C. MySQL Change History
C.1. Changes in release 5.1.x (Development)
C.1.1. Changes in release 5.1.16 (Not yet released)
C.1.2. Changes in release 5.1.15 (25 January 2007)
C.1.3. Changes in release 5.1.14 (05 December 2006)
C.1.4. Changes in release 5.1.13 (Not released)
C.1.5. Changes in release 5.1.12 (24 October 2006)
C.1.6. Changes in release 5.1.11 (26 May 2006)
C.1.7. Changes in release 5.1.10 (Not released)
C.1.8. Changes in release 5.1.9 (12 April 2006)
C.1.9. Changes in release 5.1.8 (Not released)
C.1.10. Changes in release 5.1.7 (27 February 2006)
C.1.11. Changes in release 5.1.6 (01 February 2006)
C.1.12. Changes in release 5.1.5 (10 January 2006)
C.1.13. Changes in release 5.1.4 (21 December 2005)
C.1.14. Changes in release 5.1.3 (29 November 2005)
C.1.15. Changes in release 5.1.2 (Not released)
C.1.16. Changes in release 5.1.1 (Not released)
C.2. MySQL Connector/ODBC (MyODBC) Change History
C.2.1. Changes in Connector/ODBC 5.0.11 (31 January 2007)
C.2.2. Changes in Connector/ODBC 5.0.10 (14 December 2006)
C.2.3. Changes in Connector/ODBC 5.0.9 (22 November 2006)
C.2.4. Changes in Connector/ODBC 5.0.8 (17 November 2006)
C.2.5. Changes in Connector/ODBC 5.0.7 (08 November 2006)
C.2.6. Changes in Connector/ODBC 5.0.6 (03 November 2006)
C.2.7. Changes in Connector/ODBC 5.0.5 (17 October 2006)
C.2.8. Changes in Connector/ODBC 5.0.3 (Connector/ODBC 5.0 Alpha 3) (20 June 2006)
C.2.9. Changes in Connector/ODBC 5.0.2 (Never released)
C.2.10. Changes in Connector/ODBC 5.0.1 (Connector/ODBC 5.0 Alpha 2) (05 June 2006)
C.2.11. Changes in Connector/ODBC 3.51.13 (Not yet released)
C.2.12. Changes in Connector/ODBC 3.51.12
C.2.13. Changes in Connector/ODBC 3.51.11
C.3. Connector/NET Change History
C.3.1. Changes in MySQL Connector/NET Version 5.0.4 (Not yet released)
C.3.2. Changes in MySQL Connector/NET Version 5.0.3 (05 January 2007)
C.3.3. Changes in MySQL Connector/NET Version 5.0.2 (06 November 2006)
C.3.4. Changes in MySQL Connector/NET Version 5.0.1 (01 October 2006)
C.3.5. Changes in MySQL Connector/NET Version 5.0.0 (08 August 2006)
C.3.6. Changes in MySQL Connector/NET Version 1.0.10 (Not yet released)
C.3.7. Changes in MySQL Connector/NET Version 1.0.9 (02 February 2007
C.3.8. Changes in MySQL Connector/NET Version 1.0.8 (20 October 2006)
C.3.9. Changes in MySQL Connector/NET Version 1.0.7 (21 November 2005)
C.3.10. Changes in MySQL Connector/NET Version 1.0.6 (03 October 2005)
C.3.11. Changes in MySQL Connector/NET Version 1.0.5 (29 August 2005)
C.3.12. Changes in MySQL Connector/NET Version 1.0.4 (20 January 2005)
C.3.13. Changes in MySQL Connector/NET Version 1.0.3-gamma (12 October 2004)
C.3.14. Changes in MySQL Connector/NET Version 1.0.2-gamma (15 November 2004)
C.3.15. Changes in MySQL Connector/NET Version 1.0.1-beta2 (27 October 2004)
C.3.16. Changes in MySQL Connector/NET Version 1.0.0 (01 September 2004)
C.3.17. Changes in MySQL Connector/NET Version 0.9.0 (30 August 2004)
C.3.18. Changes in MySQL Connector/NET Version 0.76
C.3.19. Changes in MySQL Connector/NET Version 0.75
C.3.20. Changes in MySQL Connector/NET Version 0.74
C.3.21. Changes in MySQL Connector/NET Version 0.71
C.3.22. Changes in MySQL Connector/NET Version 0.70
C.3.23. Changes in MySQL Connector/NET Version 0.68
C.3.24. Changes in MySQL Connector/NET Version 0.65
C.3.25. Changes in MySQL Connector/NET Version 0.60
C.3.26. Changes in MySQL Connector/NET Version 0.50
C.4. MySQL Visual Studio Plugin Change History
C.4.1. Changes in MySQL Visual Studio Plugin 1.0.2 (Not yet released)
C.4.2. Changes in MySQL Visual Studio Plugin 1.0.1 (4 October 2006)
C.4.3. Changes in MySQL Visual Studio Plugin 1.0.0 (4 October 2006)
C.5. MySQL Connector/J Change History
C.5.1. Changes in MySQL Connector/J 5.1.x
C.5.2. Changes in MySQL Connector/J 5.0.x
C.5.3. Changes in MySQL Connector/J 3.1.x
C.5.4. Changes in MySQL Connector/J 3.0.x
C.5.5. Changes in MySQL Connector/J 2.0.x
C.5.6. Changes in MySQL Connector/J 1.2b (04 July 1999)
C.5.7. Changes in MySQL Connector/J 1.2.x and lower
D. 制限と規制
D.1. ストアド ルーチンとトリガの規制
D.2. サーバサイドカーソルの規制
D.3. サブクエリの規制
D.4. ビューの規制
D.5. XA トランザクションの規制
D.6. MySQL の制限
D.6.1. 結合の制限
E. Credits
E.1. Developers at MySQL AB
E.2. Contributors to MySQL
E.3. Documenters and translators
E.4. Libraries used by and included with MySQL
E.5. Packages that support MySQL
E.6. Tools that were used to create MySQL
E.7. Supporters of MySQL
目次

図目次

5.1. Replication with a single slave
5.2. Replication with multiple slaves
5.3. Replication with twin masters
5.4. Replication with multiple masters in a circular topology
5.5. Replication with multiple masters in a chain topology
5.6. スケールアウト レプリケーションのパフォーマンス向上の概略図
5.7. 別々の DB を複数のホストに複製するレプリケーション概略図
5.8. 追加のレプリケーション ホストでパフォーマンス改善
5.9. レプリケーションを活用した冗長性、初期ストラクチャ
5.10. レプリケーションを活用した冗長性、マスタ障害後
13.1. プラガブルストレージエンジンを利用したMySQLアーキテクチャ
13.2. FEDERATED テーブル構造

例目次

24.1. DriverManager から接続を取得する
24.2. java.sql.Statement を使用して SELECT クエリを実行する
24.3. ストアド プロシージャ
24.4. Connection.prepareCall() の使用
24.5. 出力パラメータの登録
24.6. CallableStatement 入力パラメータの設定
24.7. 結果と出力パラメータの値を呼び出す
24.8. Statement.getGeneratedKeys() を使った AUTO_INCREMENT カラム値の呼び出し
24.9. SELECT LAST_INSERT_ID() を使った AUTO_INCREMENT カラム値の呼び出し
24.10. Updatable ResultSets 内の AUTO_INCREMENT カラム値の呼び出し
24.11. J2EE アプリケーション サーバで接続プールを使用
24.12. リトライ ロジックとのトランザクション例
アダルトレンタルサーバー