| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
| 2.1 標準 MySQL のクイックインストール | ||
| 2.2 インストール関連の一般的な問題 | ||
| 2.3 MySQL ソースディストリビューションのインストール | ||
| 2.4 インストール後の設定とテスト | ||
| 2.5 MySQL のアップグレードとダウングレード | ||
| 2.6 オペレーティングシステム固有の注意事項 | ||
| 2.7 Perl インストールについてのコメント |
この章では、MySQL の入手方法とインストール方法について説明します。
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
この章では、それぞれのプラットフォームのネイティブパッケージ化形式を使用してパッケージが提供されているプラットフォームへの MySQL のインストールについて説明します。ただし、その他のさまざまなプラットフォーム用の MySQL バイナリディストリビューションも用意されています。すべてのプラットフォームに適用されるパッケージの一般インストール手順については、 「2.2.9 MySQL バイナリディストリビューションのインストール」 を参照してください。
入手できるその他のバイナリディストリビューションとその入手方法の詳細については、 「2.2 インストール関連の一般的な問題」 を参照してください。
| 2.1.1 Windows への MySQL のインストール | ||
| 2.1.2 Linux への MySQL のインストール | ||
| 2.1.3 Mac OS X への MySQL のインストール | ||
| 2.1.4 NetWare への MySQL のインストール |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
Windows での MySQL のインストールは、以下のステップになります。
Windows 用 MySQL は、以下の2種類の形式で提供されます。
一般的には、バイナリディストリビューションを使用することをお勧めします。このディストリビューションの方が単純で、MySQL のセットアップと実行に追加のツールを必要としないからです。
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
Windows で MySQL を実行する場合の要件は以下のとおりです。
注意: ディストリビューションファイルは、zip 形式で提供されます。ダウンロードプロセス中のファイルの破損を避けるために、レジューム機能を持つ適切な FTP クライアントを使用することをお勧めします。
ZIP プログラム。
MyODBC ドライバも必要である。 「11.2 MySQL の ODBC サポート」 節 参照 。
MAX_ROWS と AVG_ROW_LENGTH を必ず使用する。
「6.5.3 CREATE TABLE 構文」 節 参照 。
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
バイナリディストリビューションを使用して Windows に MySQL をインストールするには、以下の手順に従って行います。
C:\> NET STOP MySQL |
アップグレード後に別のサーバを使用する予定の場合(mysqld ではなく mysqld-max を実行する場合など)は、以下のように入力して既存のサービスを削除する。
C:\mysql\bin> mysqld --remove |
アップグレード後にサービスを再インストールして適切なサーバを使用することができる。
MySQL サーバをサービスとして実行していない場合は、以下のように入力してサーバを停止する。
C:\mysql\bin> mysqladmin -u root shutdown |
WinMySQLAdmin プログラムを実行している場合は、このプログラムを終了する。
setup.exe プログラムを実行して、インストールプロセスを開始する。
デフォルトのディレクトリ(`C:\mysql')以外の場所に MySQL をインストールする場合は、Browse ボタンを使用して、目的のディレクトリを指定する。MySQL をデフォルト以外の場所にインストールすると、サーバを起動するたびにその場所を指定しなければならなくなる。これを行う最も簡単な方法は、 「2.1.1.3 Windows MySQL 環境の準備」 で説明するように、オプション設定ファイルを使用することである。
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
サーバを実行するときに起動オプションを指定する必要がある場合は、コマンドラインで起動オプションを指定するか、オプション設定ファイルに起動オプションを配置します。サーバを起動するたびに使用されるオプションの場合、オプション設定ファイルを使用して MySQL のオプションを指定する方が便利です。この方法は、以下のような場合に特に便利です。
InnoDB トランザクションテーブルを使用するには、InnoDB のデータファイルとログファイルを格納するための 2 つのディレクトリ(`C:\ibdata' と `C:\iblogs' など)を手動で作成しなければならない。
また、 「7.5.3 InnoDB 起動オプション」 で説明するように、オプション設定ファイルに行を追加する必要もある
(MySQL 4.0 以降では、InnoDB はデフォルトでデータディレクトリにデータファイルとログファイルを作成する。したがって、InnoDB の設定は必須ではない。
ただし、必要に応じて明示的に設定することもできるが、その場合もオプション設定ファイルを使用すると便利である)。
Windows では、MySQL インストーラは、MySQL のインストール先のディレクトリの直下にデータディレクトリを格納します。別の場所のデータディレクトリを使用する場合は、`data' ディレクトリの内容全体をその新しい場所にコピーしてください。たとえば、デフォルトでは、インストーラは、MySQL を `C:\mysql' に、データディレクトリを `C:\mysql\data' にそれぞれ格納します。`E:\mydata' のデータディレクトリを使用する場合は、以下の 2 つの処理を行う必要があります。
--datadir オプションを使用して新しいデータディレクトリの場所を指定する。
MySQL サーバは、Windows 上で起動すると、Windows ディレクトリにある `my.ini' ファイル内と `C:\my.cnf' ファイル内でオプションを探します。通常、Windows ディレクトリには、`C:\WINDOWS' や `C:\WinNT' のような名前が付いています。以下のコマンドを使用して、%WINDIR% 環境変数の値から正確な場所を判別できます。
C:\> echo %WINDIR% |
MySQL は、最初に `my.ini' ファイル内でオプションを探し、次に `my.cnf' ファイル内でオプションを探します。しかし、混乱を避けるために、1 つのファイルだけを使用することをお勧めします。C: ドライブがブートドライブではないときに PC がブートローダを使用する場合は、`my.ini' ファイルしか使用できません。どちらのファイルを使用する場合でも、ファイルはプレーンテキストファイルでなければなりません。
オプション設定ファイルの作成や修正は、Notepad プログラムなどのテキストエディタを使用して行うことができます。たとえば、MySQL が `D:\mysql' にインストールされていて、データディレクトリが `D:\mydata\data' として配置されている場合は、オプション設定ファイルを作成して、以下のように [mysqld] セクションを設定して、basedir パラメータと datadir パラメータの値を指定できます。
[mysqld] # set basedir to your installation path basedir=D:/mysql # set datadir to the location of your data directory datadir=D:/mydata/data |
注意: Windows のパス名は、オプション設定ファイル内でバックスラッシュではなくスラッシュを使用して指定します。バックスラッシュを使用する場合は、スラッシュを二重にする必要があります。
オプション設定ファイルを管理するもう 1 つの方法は、WinMySQLAdmin ツールを使用する方法です。MySQL インストールの `bin' ディレクトリに、WinMySQLAdminとその使用説明が含まれたヘルプファイルがあります。WinMySQLAdmin にはオプション設定ファイルを編集する機能がありますが、以下の点に注意してください。
WinMySQLAdmin は、`%WINDIR%\my.ini' ファイルだけを使用する。
WinMySQLAdmin は、`C:\my.cnf' ファイルを検出すると、このファイルの名前を `C:\my_cnf.bak' に変更して事実上無効にする。
これで、サーバの起動をテストする準備ができました。
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
MySQL 3.23.38 以降、Windows ディストリビューションに標準の MySQL と MySQL-Max の両方のサーババイナリが含まれるようになりました。 以下に各種の MySQL サーバの一覧を示します。この中からサーバを選択できます。
| バイナリ | 説明 |
mysqld | デバッグコードおよび自動メモリ割り当てのチェック、シンボリックリンクの機能、InnoDB テーブルおよび BDB テーブルを組み込んでコンパイルされている。 |
mysqld-opt | 最適化されたバイナリ。バージョン 4.0 以降、InnoDB が有効になっている。4.0 より前のバージョンでは、このサーバにトランザクションテーブルの機能は含まれていない。 |
mysqld-nt | 名前付きパイプの機能を組み込んで NT/2000/XP 向けに最適化されたバイナリ。 |
mysqld-max | シンボリックリンクと、InnoDB テーブルおよび BDB テーブルを組み込んで最適化されたバイナリ。 |
mysqld-max-nt | mysqld-max と似ているが、名前付きパイプの機能を組み込んでコンパイルされている。 |
上記のバイナリはすべて、最新の Intel プロセッサ向けに最適化されていますが、Intel i386 クラス以上のすべてのプロセッサで動作します。
mysqld-nt サーバまたは mysqld-max-nt サーバは、名前付きパイプ接続をサポートします。これらのサーバのどちらかを使用する場合、名前付きパイプの使用には以下の制約があることに留意してください。
--enable-named-pipe オプションを使用してサーバを起動した場合にのみ、名前付きパイプが有効になる。
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
Windows 95、98、または Me では、MySQL クライアントは常に TCP/IP を使用してサーバに接続します。Windows NT、2000、XP などの NT ベースのシステムでは、クライアントには 2 つの選択肢があります。つまり、TCP/IP を使用するか、サーバが名前付きパイプ接続をサポートしている場合は名前付きパイプを使用します。
サーババイナリの実行の詳細については、 「2.1.1.3 Windows MySQL 環境の準備」 を参照してください。
このセクションでは、MySQL サーバの起動方法の一般的な概要を説明します。 特定のバージョンの Windows に固有の詳細については、後続の各セクションで説明します。
これらの各セクションで示される例では、MySQL がデフォルトの場所である `C:\mysql' にインストールされていることが前提となっています。MySQL を別の場所にインストールしている場合は、例に示されているパス名を調整してください。
テストは、コンソールウィンドウ("DOS 窓")のコマンドプロンプトから行うことをお勧めします。この方法をとると、サーバからのステータスメッセージを見やすいウィンドウで表示することができます。設定に問題がある場合に、これらのメッセージによって問題の特定と修正が容易になります。
サーバが格納されているディレクトリにいることを確認してから、以下のコマンドを入力します。
shell> mysqld --console |
InnoDB が含まれているサーバの場合は、サーバの起動時に以下のメッセージが表示されます。
InnoDB: The first specified datafile c:\ibdata\ibdata1 did not exist: InnoDB: a new database to be created! InnoDB: Setting file c:\ibdata\ibdata1 size to 209715200 InnoDB: Database physically writes the file full: wait... InnoDB: Log file c:\iblogs\ib_logfile0 did not exist: new to be created InnoDB: Setting log file c:\iblogs\ib_logfile0 size to 31457280 InnoDB: Log file c:\iblogs\ib_logfile1 did not exist: new to be created InnoDB: Setting log file c:\iblogs\ib_logfile1 size to 31457280 InnoDB: Log file c:\iblogs\ib_logfile2 did not exist: new to be created InnoDB: Setting log file c:\iblogs\ib_logfile2 size to 31457280 InnoDB: Doublewrite buffer not found: creating new InnoDB: Doublewrite buffer created InnoDB: creating foreign key constraint system tables InnoDB: foreign key constraint system tables created 011024 10:58:25 InnoDB: Started |
サーバが起動シーケンスを終了すると、クライアント接続をサービスする準備ができたことを示す以下のようなメッセージが表示されます。
mysqld: ready for connections Version: '4.0.14-log' socket: '' port: 3306 |
続いて、サーバが生成したその他の診断出力がコンソールに出力されます。新しいコンソールウィンドウを開いて、そのウィンドウでクライアントプログラムを実行することができます。
--console オプションを省略すると、診断出力はデータディレクトリ内のエラーログに書き込まれます。エラーログは、`.err' 拡張子を持つファイルです。
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
Windows 95、98、または Me では、MySQL は TCP/IP を使用してクライアントをサーバに接続します(これによって、ネットワーク上のすべてのマシンが MySQL サーバに接続できます)。そのため、MySQL を起動する前に、TCP/IP がインストールされていることを確認する必要があります。TCP/IP は、Windows の CD-ROM に収められています。
注意: 旧リリースの Windows 95(OSR2 など)を使用している場合は、旧バージョンの Winsock パッケージがインストールされている可能性があります。MySQL は Winsock 2 を必要とします。最新の Winsock は、http://www.microsoft.com/ から入手できます。Windows 98 は、Winsock 2 ライブラリを備えています。したがって、ライブラリを更新する必要はありません。
mysqld サーバを起動するには、コンソールウィンドウ("DOS" ウィンドウ)を起動して、以下のコマンドを入力します。
shell> C:\mysql\bin\mysqld |
このコマンドによって、バックグラウンドで mysqld が起動されます。したがって、サーバが起動した後、別のコマンドプロンプトが表示されます。注意: Windows NT、2000、XP でこの方法でサーバを起動すると、サーバはフォアグラウンドで実行され、サーバの実行が終了するまでコマンドプロンプトは表示されません。
そのため、サーバの実行中は、別のコンソールウィンドウを開いてクライアントプログラムを実行する必要があります。
以下のコマンドを実行して、MySQL サーバを停止することができます。
shell> C:\mysql\bin\mysqladmin -u root shutdown |
このコマンドは、MySQL 管理ユーティリティ mysqladmin を起動して、サーバに接続してシャットダウンするよう指示します。このコマンドは、MySQL 権限システムでのデフォルトの管理者アカウントである root として接続します。MySQL 権限システム内のユーザは、Windows のログインユーザとは完全に独立しています。
mysqld が起動しない場合は、エラーログをチェックして、問題の原因を示すメッセージが書き込まれていないかどうかを確認してください。
エラーログは、`C:\mysql\data' ディレクトリにあります。これは、`.err' というサフィックスが付いたファイルです。また、mysqld --console としてサーバを起動することもできます。その場合、問題を解決するのに役立つ有益な情報が画面に表示されます。
最後の選択肢は、--standalone --debug を指定して mysqld を起動する方法です。
この場合、mysqld は、mysqld が起動しない理由をログファイル `C:\mysqld.trace' に書き込みます。 「E.1.2 トレースファイルの作成」 節 参照 。
mysqld --help を使用すると、mysqld が認識できるすべてのオプションが表示されます。
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
NT ファミリ(Windows NT、2000、または XP)では、MySQL を Windows サービスとしてインストールして実行することをお勧めします。Windows の起動時または停止時に、MySQL サーバが自動的に起動または停止されます。サービスとしてインストールされたサーバは、NET コマンドを使用してコマンドラインから制御するか、Services ユーティリティを使用して制御することができます。
Services ユーティリティ(Windows Service Control Manager)は、Windows Control Panel(Windows 2000 のAdministrative Toolsの下)にあります。このコマンドラインからサーバのインストールや削除の操作を実行している間は、Services ユーティリティを終了することをお勧めします。これによって、ある種の予期しないエラーが防止されます。
Windows NT 4 で、MySQL を TCP/IP と連動させるには、Service Pack 3 以上をインストールする必要があります。
MySQL を Windows サービスとしてインストールする前に、まず、以下のコマンドを使用して現在のサーバを停止してください(サーバが稼動している場合)。
shell> C:\mysql\bin\mysqladmin -u root shutdown |
このコマンドは、MySQL 管理ユーティリティ mysqladmin を起動して、サーバに接続してシャットダウンするよう指示します。このコマンドは、MySQL 権限システム内のデフォルトの管理者アカウントである root として接続します。MySQL 権限システム内のユーザは、Windows のログインユーザから完全に独立しています。
次に、以下のコマンドでサーバをサービスとしてインストールします。
shell> mysqld --install |
サーバ名だけを使用して mysqld をサービスとしてインストールする際に問題が発生した場合は、完全パス名を使用してインストールしてみてください。
shell> C:\mysql\bin\mysqld --install |
MySQL 4.0.2 以降では、--install オプションの後ろに特定のサービス名を指定できます。さらに、MySQL 4.0.3 以降では、サービス名の後ろに --defaults-file オプションを指定して、起動時のオプションを取得する場所をサーバに示すことができます。サーバが使用するサービス名とオプション設定ファイルは、以下のルールに従って決定されます。
MySQL を使用し、デフォルトのオプション設定ファイルの [mysqld] グループからオプションを読み取る。
--install オプションの後ろにサービス名を指定すると、サーバは [mysqld] オプショングループを無視し、そのサービスと同じ名前のグループからオプションを読み取る。サーバは、デフォルトのオプション設定ファイルからオプションを読み取る。
--defaults-file オプションを指定すると、サーバはデフォルトのオプション設定ファイルを無視し、指定ファイルの [mysqld] グループだけからオプションを読み取る。
注意: 4.0.17 より前の MySQL バージョンでは、Windows サービスとしてインストールされたサーバのパス名やサービス名にスペースが含まれていると、起動時に問題が発生します。したがって、`C:\Program Files' などのディレクトリに MySQL をインストールしたり、スペースを含んだサービス名を使用したりすることは避けてください。
通常どおりに --install を使用してサーバをインストールした場合は、サーバは MySQL のサービス名でインストールされます。
さらに複雑な例として、以下のコマンドを考察してみます。
shell> C:\mysql\bin\mysqld --install mysql --defaults-file=C:\my-opts.cnf |
ここでは、--install オプションの後ろにサービスを指定しています。このコマンドで --defaults-file オプションを指定しないと、サーバは標準のオプション設定ファイルから [mysql] グループを読み取ります(このオプショングループは mysql クライアントプログラムが使用するものであるため、これは推奨できません)。ただし、--defaults-file オプションを指定しているため、サーバは、指定ファイルの [mysqld] オプショングループだけからオプションを読み取ります。
MySQL サービスを起動する前に、Windows サービス ユーティリティで "Start parameters" としてオプションを指定することもできます。
MySQL サーバをサービスとしてインストールすると、Windows が起動するたびに MySQL サービスが自動的に起動されます。サービスは、サービス ユーティリティから直接起動するか、コマンド NET START MYSQL を使用して起動することもできます。NET コマンドは、ケース依存ではありません。
注意: mysqld は、サービスとして実行されるとコンソールウィンドウにアクセスできないので、コンソールウィンドウにメッセージは表示されません。mysqld が起動しない場合は、エラーログをチェックして、問題の原因を示すメッセージが書き込まれていないかどうかを確認してください。
エラーログは、`C:\mysql\data' ディレクトリにあります。これは、`.err' というサフィックスが付いたファイルです。
サービスとして稼動している mysqld は、サービス ユーティリティ、NET STOP MYSQL コマンド、または mysqladmin shutdown コマンドを使用して停止することができます。Windows がシャットダウンするときにサービスが稼動している場合は、Windows によってサーバが自動的に停止されます。
MySQL バージョン 3.23.44 からは、ブートプロセス中にサービスを自動的に起動させたくない場合、Manual サービスとしてサーバをインストールすることができます。その場合は、以下のように、--install オプションではなく、--install-manual オプションを使用します。
shell> C:\mysql\bin\mysqld --install-manual |
サービスとしてインストールされたサーバを削除するには、サーバが稼動している場合は、まずサーバを停止します。次に、--remove オプションを使用して、サーバを削除します。
shell> mysqld --remove |
MySQL サービス自動シャットダウンの 1 つの問題は、3.23.49 より前のバージョンの MySQL の場合、Windows がシャットダウンの完了まで数秒間しか待機せず、この制限時間を超過するとデータベースサーバプロセスが強制終了されるという点です。これによって、問題が発生することがありました(たとえば、InnoDB ストレージエンジンは次回の起動時にクラッシュリカバリを実行する必要があるなど)。MySQL バージョン 3.23.49 以降は、MySQL サーバのシャットダウンの完了までの Windows の待機時間が延長されています。この待機時間でもインストールに十分でないと思われる場合、最も安全なのは、MySQL サーバをサービスとして実行しないことです。代わりに、MySQL サーバの起動はコマンドラインプロンプトから行い、停止は mysqladmin shutdown を使用して行ってください。
MySQL サーバの停止時に待機時間を延長するよう Windows に指示するための変更は、Windows 2000 および XP には有効ですが、Windows NT には有効ではありません。Windows NT の場合、サービスのシャットダウンのための待機時間は 20 秒だけで、この時間が経過すると、サービスプロセスは強制終了されます。レジストリエディタ `\winnt\system32\regedt32.exe' をたち上げ、レジストリツリー内の HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control の WaitToKillServiceTimeout の値を編集して、このデフォルト値を増やすことができます。デフォルト値より大きい新しい値をミリ秒単位で指定します(たとえば、値 120000 を指定すると、Windows NT は最大で 120 秒間待機します)。
mysqld をサービスとして起動しない場合は、NT ベース以外の Windows のバージョンの場合と同様にコマンドラインから起動することができます。手順については、 「2.1.1.6 Windows 95、98、または Me での MySQL の起動」 を参照してください。
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
MySQL は、すべての Windows プラットフォームで TCP/IP をサポートします。mysqld-nt サーバと mysql-max-nt サーバは、NT、2000、および XP で名前付きパイプをサポートします。
ただし、デフォルトでは、プラットフォームに関係なく TCP/IP が使用されます。
3.23.50 以降のバージョンの mysqld-nt および mysql-max-nt の場合、--enable-named-pipe オプションを使用してこれらのサーバを起動したときにのみ名前付きパイプが有効になります。
--pipe オプションを指定するか、ホスト名として .(ピリオド)を指定して、MySQL クライアントに強制的に名前付きパイプを使用させることができます。パイプの名前は、--socket オプションを使用して指定します。MySQL 4.1 では、--protocol=PIPE オプションを使用してください。
以下のいずれかのコマンドを実行して、MySQL サーバが動作しているかどうかをテストすることができます。
C:\> C:\mysql\bin\mysqlshow C:\> C:\mysql\bin\mysqlshow -u root mysql C:\> C:\mysql\bin\mysqladmin version status proc C:\> C:\mysql\bin\mysql test |
Windows 9x/Me 上で、接続に対する mysqld の応答が遅い場合は、使用している DNS に問題がある可能性があります。その場合は、--skip-name-resolve オプションを使用して mysqld を起動し、MySQL 権限テーブルの Host カラムの localhost と IP 番号だけを使用します。
MySQL コマンドラインツールには以下の 2 つのバージョンがあります。
| バイナリ | 説明 |
mysql | ネイティブ Windows 上にコンパイルされ、限られたテキスト編集機能を提供する。 |
mysqlc | Cygnus GNU コンパイラとライブラリを組み込んでコンパイルされ、readline の編集機能を提供する。 |
mysqlc を使用する場合は、mysqlc が検出できる場所に `cygwinb19.dll' ライブラリのコピーをインストールする必要があります。MySQL の最新のディストリビューションでは、mysqlc と同じディレクトリにこのライブラリが含まれています(ご使用の MySQL インストールの基本ディレクトリの下の `bin' ディレクトリ)。ご使用のディストリビューションの `bin' ディレクトリに cygwinb19.dll ライブラリがない場合は、lib ディレクトリ内でこのライブラリを探し、Windows システムディレクトリ(`\Windows\system' か、これに類似した場所)にコピーします。
Windows のデフォルトの権限の設定では、ローカルユーザーは、パスワードなしで全データベースに対して全ての操作が行えるようになっています。MySQL をより安全にするために、すべてのユーザにパスワードを設定し、Host='localhost' と User=" が記述された mysql.user テーブルのレコードを削除してください。
また、root ユーザのパスワードも追加してください。以下の例では、まず全権限を持つ匿名ユーザを削除し、次に root ユーザパスワードを設定します。
C:\> C:\mysql\bin\mysql mysql mysql> DELETE FROM user WHERE Host='localhost' AND User=''; mysql> FLUSH PRIVILEGES; mysql> QUIT C:\> C:\mysql\bin\mysqladmin -u root password your_password |
パスワードを設定した後で mysqld サーバをシャットダウンする場合は、このコマンドを使用してシャットダウンすることができます。
C:\> mysqladmin --user=root --password=your_password shutdown |
MySQL バージョン 3.21 の古い Windows シェアウェアディストリビューションのサーバを使用している場合、パスワードを設定するための mysqladmin コマンドはparse error near 'SET password' というエラーによって失敗します。この問題は、このバージョンより新しい MySQL にアップグレードすることで解決されます。
最新バージョンの MySQL では、GRANT コマンドと REVOKE コマンドを使用して、新しいユーザの追加と特権の変更を簡単に行うことができます。
「4.4.1 GRANT および REVOKE の構文」 節 参照 。
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
Linux に MySQL をインストールする場合は、RPM パッケージを使用することをお勧めします。MySQL RPM は、現在、SuSE Linux 7.3 システム上でビルドされていますが、rpm をサポートし glibc を使用するほとんどのバージョンの Linux 上で動作します。
RPM ファイルに関する問題が発生した場合(たとえば、"Sorry, the host 'xxxx' could not be looked up" というエラーが表示された場合)は、 「2.6.2.1 Linux の注意事項 (バイナリディストリビューション)」 を参照してください。
ほとんどの場合、MySQL-server パッケージと MySQL-client パッケージをインストールするだけで済みます。最小インストールの場合は、その他のパッケージは必要ありません。
追加機能を備えた MySQL Max サーバを実行したい場合は、MySQL-server RPM をインストールした後に MySQL-Max RPM をインストールしてください。
「4.8.5 mysqld-max(拡張 mysqld サーバ)」 節 参照 。
MySQL 4.0 パッケージのインストール中に依存関係エラーが発生した場合(たとえば、"error: removing these packages would break dependencies: libmysqlclient.so.10 is needed by ...")、MySQL-shared-compat パッケージもインストールする必要があります。このパッケージには、下位互換性のために両方の共有ライブラリ(MySQL 4.0 の libmysqlclient.so.12 と MySQL 3.23 の libmysqlclient.so.10)が含まれています。
多くの Linux ディストリビューションにはまだ MySQL 3.23 が同梱されており、アプリケーションを動的にリンクしてディスク領域を節約しています。これらの共有ライブラリが別個のパッケージ(MySQL-shared など)に含まれている場合は、このパッケージをインストールして、MySQL サーバおよびクライアントのパッケージをアップグレードするだけで十分です(これらのパッケージは静的にリンクされ共有ライブラリに依存しません)。MySQL サーバと同じパッケージに共有ライブラリが含まれているディストリビューションの場合(Red Hat Linux など)は、バージョン 3.23 の MySQL-shared RPM をインストールするか、MySQL-shared-compat パッケージを使用します。
以下の RPM パッケージが用意されています。
MySQL-server-VERSION.i386.rpm
MySQL サーバ。別のマシン上で稼動している MySQL サーバに接続するだけの場合を除いて、このパッケージが必要。注意: MySQL 4.0.10 より前のバージョンでは、このパッケージは MySQL-VERSION.i386.rpm と呼ばれていた。
MySQL-Max-VERSION.i386.rpm
MySQL Max サーバ。このサーバには、MySQL-server RPM のサーバには含まれていない追加機能がある。MySQL-Max RPM は MySQL-server RPM に依存するので、まず MySQL-server RPM をインストールしておく必要がある。
MySQL-client-VERSION.i386.rpm
標準 MySQL クライアントプログラム。ほとんどの場合、このパッケージをインストールする必要がある。
MySQL-bench-VERSION.i386.rpm
テストとベンチマーク。Perl と DBD-mysql モジュールを必要とする。
MySQL-devel-VERSION.i386.rpm
Perl モジュールなど、その他の MySQL クライアントをコンパイルする場合に必要なライブラリとインクルードファイル。
MySQL-shared-VERSION.i386.rpm
このパッケージには、特定の言語とアプリケーションが MySQL を動的にロードして使用するために必要な共有ライブラリ(libmysqlclient.so*)が含まれている。
MySQL-shared-compat-VERSION.i386.rpm
このパッケージには、MySQL 3.23 と MySQL 4.0 の両方の共有ライブラリが含まれている。MySQL 3.23 に動的にリンクされるアプリケーションをインストールしている場合に、ライブラリの依存関係を壊さずに MySQL 4.0 にアップグレードしたいときは、MySQL-shared の代わりにこのパッケージをインストールする。このパッケージは、MySQL 4.0.13 以降のバージョンで用意されている。
MySQL-embedded-VERSION.i386.rpm
組み込みの MySQL サーバライブラリ(MySQL 4.0 以降)
MySQL-VERSION.src.rpm
このパッケージには、これまでのすべてのパッケージのソースコードが含まれている。このパッケージを使用して、他のアーキテクチャ(Alpha や SPARC など)上で RPM を再構築することもできる。
RPM パッケージ(MySQL-server RPM など)内のすべてのファイルを確認するには、以下のコマンドを実行します。
shell> rpm -qpl MySQL-server-VERSION.i386.rpm |
最小インストールを行うには、以下のコマンドを実行します。
shell> rpm -i MySQL-server-VERSION.i386.rpm MySQL-client-VERSION.i386.rpm |
クライアントパッケージだけをインストールするには、以下のコマンドを実行します。
shell> rpm -i MySQL-client-VERSION.i386.rpm |
RPM には、パッケージをインストールする前にその完全性と信頼性を検証する機能が備えられています。この機能の詳細については、 「2.2.2 MD5 チェックサムまたは GnuPG によるパッケージ完全性の検証」 を参照してください。
サーバ RPM は、`/var/lib/mysql' ディレクトリの下にデータを配置します。また、ブート時にサーバを自動的に起動するための適切なエントリを `/etc/init.d/' に作成します(したがって、旧バージョンのインストールを実行しており、起動スクリプトに変更を加えている場合、新しいバージョンの RPM のインストール時にそのスクリプトが失われないようにするためにはスクリプトのコピーを作成する必要があります)。システム起動時に MySQL が自動的に起動されるようにする方法については、 「2.4.3 MySQL を自動的に起動および停止する」 を参照してください。
`/etc/init.d' の初期化スクリプトをサポートしていない旧バージョンの Linux ディストリビューションに MySQL RPM をインストールする(直接または symlink を使用して)場合は、初期化スクリプトが実際にインストールされる場所を指すシンボリックリンクを作成してください。たとえば、その場所が `/etc/rc.d/init.d' である場合、RPM をインストールする前に以下のコマンドを使用して、その場所を指すシンボリックリンクとして `/etc/init.d' を作成します。
shell> cd /etc; ln -s rc.d/init.d . |
ただし、`/etc/init.d' を使用するこの新しいディレクトリレイアウトは、LSB(Linux Standard Base)に準拠するために必要であるので、最新のすべての主要 Linux ディストリビューションではすでにサポートされています。
インストールする RPM ファイルに MySQL-server が含まれている場合は、インストール後に mysqld デーモンが起動します。
これで、MySQL の使用を開始できるようになりました。
「2.4 インストール後の設定とテスト」 節 参照 。
何か問題があった場合は、バイナリインストールの章を参照してください。 「2.2.9 MySQL バイナリディストリビューションのインストール」 節 参照 。
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
MySQL 4.0.11 からは、バイナリ tarball ディストリビューションではなく Mac OS X PKG バイナリパッケージを使用して、Mac OS X 10.2("Jaguar")に MySQL をインストールできるようになりました。注意: このパッケージは、これより古いバージョンの Mac OS X(10.1.x など)はサポートしていません。
パッケージは、ディスクイメージ(.dmg)ファイル内にあります。まず、ファインダ内でこのファイルのアイコンをダブルクリックしてマウントする必要があります。ディスクイメージファイルをマウントすると、イメージがマウントされその内容が表示されます。
注意: インストールを続行する前に、MySQL Manager Application(Mac OS X Server 上で)を使用するかコマンドラインで mysqladmin shutdown を使用して、稼動しているすべての MySQL サーバインスタンスを必ずシャットダウンしてください。
MySQL PKG を実際にインストールするには、パッケージのアイコンをダブルクリックします。これにより、Mac OS Package Installer が起動されます。このインストーラの指示に従って MySQL のインストールを行います。
MySQL の Mac OS X PKG は、自身を `/usr/local/mysql-<version>' にインストールします。また、新しい場所を指すシンボリックリンク `/usr/local/mysql' もインストールします。`/usr/local/mysql' という名前のディレクトリがすでに存在する場合は、まずそのディレクトリの名前を `/usr/local/mysql.bak' に変更します。さらに、インストール後に mysql_install_db を実行して、mysql データベースに権限テーブルをインストールします。
インストールレイアウトは、バイナリディストリビューションのインストールレイアウトと類似しています。つまり、すべての MySQL バイナリが `/usr/local/mysql/bin' ディレクトリに配置されます。 MySQL ソケットファイルは、デフォルトで `/tmp/mysql.sock' として作成されます。 「2.2.5 インストールレイアウト」 節 参照 。
MySQL インストールには、mysql という名前の Mac OS X ユーザアカウントが必要です(Mac OS X 10.2 以降の場合、この名前を持つユーザアカウントがデフォルトで存在します)。
Mac OS X Server を実行している場合、MySQL はすでにインストールされています。
ここでは、公式の MySQL Mac OS X PKG のインストールについてのみ説明します。必ず、MySQL のインストールに関する Apple のヘルプを参照してください("Help View" アプリケーションを実行して、"Mac OS X Server" ヘルプを選択し、"MySQL" を検索して、"Installing MySQL" という項目を参照してください)。
特に、Mac OS X Server 上のプリインストール版の MySQL は、mysqld_safe コマンドではなく safe_mysqld コマンドで起動することに注意してください。
http://www.entropy.ch から入手した Marc Liyanage の Mac OS X 用 MySQL パッケージを使用している場合は、同氏のページに示されているバイナリインストールレイアウトによるパッケージの更新手順説明に従うだけで済みます。
Marc の 3.23.xx バージョンまたは Mac OS X Server バージョンの MySQL から公式の MySQL PKG にアップグレードする場合は、いくつかの新しいセキュリティ特権が追加されているので、既存の MySQL 特権テーブルを現在の形式に変換する必要もあります。 「2.5.6 権限テーブルのアップグレード」 節 参照 。
また、システムのブートアップ時に MySQL を自動的に起動する場合は、MySQL Startup Item をインストールする必要があります。MySQL 4.0.15 からは、MySQL Startup Item は Mac OS X インストールディスクイメージの一部として別個のインストールパッケージとなっています。MySQLStartupItem.pkg アイコンをダブルクリックし、指示に従ってインストールします。
注意: このインストールは 1 回だけ行います。MySQL パッケージをアップグレードするたびに Startup Item をインストールする必要はありません。
Mac OS X パッケージインストーラにバグがあるため、インストール先ディスク選択画面に You cannot install this software on this disk. (null) というエラーメッセージが表示されることがあります。このエラーが発生した場合は、Go Back ボタンをクリックして前の画面に戻ります。次に、Continue をクリックして、もう一度インストール先ディスク選択画面に進み、適切なインストール先ディスクを選択することができます。この問題は、Apple に報告済みで、現在同社で調査中です。
Startup Item は、`/Library/StartupItems/MySQL' にインストールされます。
これによって、システム設定ファイル `/etc/hostconfig' に変数 MYSQLCOM=-YES- が追加されます。MySQL の自動起動を無効にする場合は、この変数を MYSQLCOM=-NO- に変更します。
Mac OS X Server では、Startup Item インストールスクリプトが自動的に `/etc/hostconfig' の変数 MYSQL を MYSQL=-NO- に変更して、デフォルト MySQL インストールの起動を無効にします。これは、ブートアップ時のコンフリクトを回避するために行われます。ただし、すでに稼動している MySQL サーバがシャットダウンされることはありません。
インストール後は、ターミナルウィンドウで以下のコマンドを実行して MySQL を起動することができます。この作業を行うには管理者特権が必要であることに注意してください。
Startup Item をインストールした場合は、以下のコマンドを入力します。
shell> sudo /Library/StartupItems/MySQL/MySQL start (必要ならパスワードを入力) (Control-D か "exit" を入れてシェルから抜ける) |
Startup Item を使用しない場合は、以下のコマンドシーケンスを入力します。
shell> cd /usr/local/mysql shell> sudo ./bin/mysqld_safe (必要ならパスワードを入力) (Control-Z) shell> bg (Control-D か "exit" を入れてシェルから抜ける) |
これで、`/usr/local/mysql/bin/mysql' などを実行して MySQL サーバに接続することができるようになりました。
初めて MySQL をインストールした場合は、必ず、MySQL root ユーザのパスワードを設定してください。
パスワードの設定は、以下の 2 つのコマンドを使用して行います。
/usr/local/mysql/bin/mysqladmin -u root password <password> /usr/local/mysql/bin/mysqladmin -u root -h `hostname` password <password> |
2 行目の hostname コマンドは、必ず、バッククォート(`)で囲んでください。そうすることで、シェルは、このコマンドをその出力(このシステムのホスト名)に置き換えることができます。
以下のようにシェルのリソースファイルにエイリアスを追加して、コマンドラインから mysql および mysqladmin にアクセスすることもできます。
alias mysql '/usr/local/mysql/bin/mysql' alias mysqladmin '/usr/local/mysql/bin/mysqladmin' |
あるいは、たとえば以下の行を `$HOME/.tcshrc' に追加して、$PATH 環境変数に /usr/local/mysql/bin を追加することができます。
setenv PATH ${PATH}:/usr/local/mysql/bin
|
新しい MySQL PKG をインストールしても既存のインストールのディレクトリは削除されないことに注意してください。Mac OS X インストーラには、以前にインストールされたパッケージを適切にアップグレードするために必要な機能はまだ備わっていません。
旧バージョンの MySQL データベースファイルをコピーし、新しいバージョンを正常に起動した後、ディスク領域節約のために旧バージョンのインストールファイルを削除することをお勧めします。 さらに、`/Library/Receipts/mysql-<version>.pkg' にある旧バージョンの Package Receipt ディレクトリも削除してください。
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
バージョン 4.0.11 以降、Novell NetWare 向け MySQL サーバがバイナリパッケージ形式で提供されています。NetWare サーバは、MySQL をホストするために以下の要件を満たしていなければなりません。
NetWare 用バイナリパッケージは、http://www.mysql.com/downloads/ で入手できます。
NetWare 6.0 で MySQL を実行する場合は、コマンドラインで --skip-external-locking オプションを指定することを強くお勧めします。また、myisamchk は外部ロックを利用するので、myisamchk ではなく CHECK TABLE および REPAIR TABLE を使用する必要もあります。
NetWare 6.0 では、外部ロックに関する既知の問題があります。この問題は NetWare 6.5 では解決されています。
| 2.1.4.1 NetWare 用 MySQL バイナリのインストール |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
SERVER: mysqladmin -u root shutdown |
既存のインストールからアップグレードする場合は、ここで `my.cnf' のほかにデータディレクトリ(`SYS:MYSQL\DATA' など)をコピーする必要がある場合がある(データディレクトリをカスタマイズしている場合)。その後、旧バージョンの MySQL のコピーを削除することができる。
SERVER: SEARCH ADD SYS:MYSQL\BIN |
mysql_install_db を実行して初期データベースをインストールする。
mysqld_safe を使用して MySQL サーバを起動する。
autoexec.ncf に以下のコマンドも追加する必要がある。たとえば、MySQL インストールが `SYS:MYSQL' にあり、MySQL を自動的に起動する場合は、以下の行を追加する。
#Starts the MySQL 4.0.x database server SEARCH ADD SYS:MYSQL\BIN MYSQLD_SAFE |
NetWare 6.0 を使用している場合は、--skip-external-locking フラグを追加する。
#Starts the MySQL 4.0.x database server SEARCH ADD SYS:MYSQL\BIN MYSQLD_SAFE --skip-external-locking |
サーバ上に既存の MySQL インストールがある場合は、必ず、autoexec.ncf に既存の MySQL 起動コマンドがないかチェックして、必要に応じてそれらの起動コマンドを編集または削除する。
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
最新のバージョンとダウンロード手順については、MySQL のホームページ(http://www.mysql.com/ )を参照してください。
主要ミラーは、http://mirrors.sunsite.dk/mysql/ にあります。
MySQL Web/ダウンロードミラーの最新の完全な一覧については、http://www.mysql.com/downloads/mirrors.html を参照してください。 このサイトでは、MySQL ミラーサイトになる方法と不適切なミラーや無効なミラーの報告方法についての情報も提供しています。
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
MD5 チェックサムまたは GnuPG によるパッケージ完全性の検証 目的に合った MySQL パッケージをダウンロードした後、インストールする前に、そのパッケージが破損していないこと、そして改ざんされていないことを確認する必要があります。
MySQL AB は、MD5 checksums と、GnuPG による暗号化署名である GNU Privacy Guard の 2 種類の完全性チェック手段を提供しています。
MD5 Checksum の検証 パッケージをダウンロードした後、MD5 チェックサムが MySQL ダウンロードページに記載されているものと一致しているかどうかを確認してください。各パッケージには個別のチェックサムがあります。以下のコマンドを使用してチェックサムを検証することができます。
shell> md5sum <package> |
注意: オペレーティングシステムによっては、md5sum コマンドがサポートされていないことがあります。一部のオペレーティングシステムでは、このコマンドを md5 という名前で呼んでいます。また、このコマンドをまったく提供していないオペレーティングシステムもあります。Linux では、このコマンドはさまざまなプラットフォームで使用できる GNU Text Utilities パッケージに組み込まれています。http://www.gnu.org/software/textutils/ からソースコードを入手することもできます。OpenSSL をインストールしている場合は、このコマンドの代わりに openssl md5 <package> コマンドを使用することもできます。md5 コマンドの DOS/Windows 実装は、http://www.fourmilab.ch/md5/ から入手できます。
例:
shell> md5sum mysql-standard-4.0.10-gamma-pc-linux-i686.tar.gz
155836a7ed8c93aee6728a827a6aa153
mysql-standard-4.0.10-gamma-pc-linux-i686.tar.gz
|
結果のチェックサムが、ダウンロードページで各パッケージの直下に記載されているものと一致しているかどうかを確認します。
GnuPG による署名チェック
パッケージの完全性を検証するためのより信頼性の高い方法は、暗号化署名を使用する方法です。MySQL AB は、GNU Privacy Guard(GnuPG)を使用します。これは、Phil Zimmermann が開発した非常に有名な Pretty Good Privacy(PGP)に代わる オープンソースのソフトウェアです。
OpenPGP/GnuPG の詳細と、GnuPG の入手方法およびご使用のシステムへのインストール方法については、http://www.gnupg.org/ および http://www.openpgp.org/ を参照してください。ほとんどの Linux ディストリビューションには、デフォルトで GnuPG がインストールされています。
MySQL 4.0.10(2003 年 2 月)以降、MySQL AB はダウンロード可能パッケージに GnuPG による署名を付けています。暗号化署名は、ファイルの完全性と信頼性を検証するためのより信頼性の高い方法です。
特定のパッケージの署名を検証するには、まず MySQL AB の 公開 GPG ビルドキー build@mysql.com のコピーを入手する必要があります。以下に記載したものを直接カットアンドペーストするか、http://www.keyserver.net/ から入手してください。
Key ID:
pub 1024D/5072E1F5 2003-02-03
MySQL Package signing key (www.mysql.com) <build@mysql.com>
Fingerprint: A4A9 4068 76FC BD3C 4567 70C8 8C71 8D3B 5072 E1F5
Public Key (ASCII-armored):
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org
mQGiBD4+owwRBAC14GIfUfCyEDSIePvEW3SAFUdJBtoQHH/nJKZyQT7h9bPlUWC3
RODjQReyCITRrdwyrKUGku2FmeVGwn2u2WmDMNABLnpprWPkBdCk96+OmSLN9brZ
fw2vOUgCmYv2hW0hyDHuvYlQA/BThQoADgj8AW6/0Lo7V1W9/8VuHP0gQwCgvzV3
BqOxRznNCRCRxAuAuVztHRcEAJooQK1+iSiunZMYD1WufeXfshc57S/+yeJkegNW
hxwR9pRWVArNYJdDRT+rf2RUe3vpquKNQU/hnEIUHJRQqYHo8gTxvxXNQc7fJYLV
K2HtkrPbP72vwsEKMYhhr0eKCbtLGfls9krjJ6sBgACyP/Vb7hiPwxh6rDZ7ITnE
kYpXBACmWpP8NJTkamEnPCia2ZoOHODANwpUkP43I7jsDmgtobZX9qnrAXw+uNDI
QJEXM6FSbi0LLtZciNlYsafwAPEOMDKpMqAK6IyisNtPvaLd8lH0bPAnWqcyefep
rv0sxxqUEMcM3o7wwgfN83POkDasDbs3pjwPhxvhz6//62zQJ7Q7TXlTUUwgUGFj
a2FnZSBzaWduaW5nIGtleSAod3d3Lm15c3FsLmNvbSkgPGJ1aWxkQG15c3FsLmNv
bT6IXQQTEQIAHQUCPj6jDAUJCWYBgAULBwoDBAMVAwIDFgIBAheAAAoJEIxxjTtQ
cuH1cY4AnilUwTXn8MatQOiG0a/bPxrvK/gCAJ4oinSNZRYTnblChwFaazt7PF3q
zIhMBBMRAgAMBQI+PqPRBYMJZgC7AAoJEElQ4SqycpHyJOEAn1mxHijft00bKXvu
cSo/pECUmppiAJ41M9MRVj5VcdH/KN/KjRtW6tHFPYhMBBMRAgAMBQI+QoIDBYMJ
YiKJAAoJELb1zU3GuiQ/lpEAoIhpp6BozKI8p6eaabzF5MlJH58pAKCu/ROofK8J
Eg2aLos+5zEYrB/LsrkCDQQ+PqMdEAgA7+GJfxbMdY4wslPnjH9rF4N2qfWsEN/l
xaZoJYc3a6M02WCnHl6ahT2/tBK2w1QI4YFteR47gCvtgb6O1JHffOo2HfLmRDRi
Rjd1DTCHqeyX7CHhcghj/dNRlW2Z0l5QFEcmV9U0Vhp3aFfWC4Ujfs3LU+hkAWzE
7zaD5cH9J7yv/6xuZVw411x0h4UqsTcWMu0iM1BzELqX1DY7LwoPEb/O9Rkbf4fm
Le11EzIaCa4PqARXQZc4dhSinMt6K3X4BrRsKTfozBu74F47D8Ilbf5vSYHbuE5p
/1oIDznkg/p8kW+3FxuWrycciqFTcNz215yyX39LXFnlLzKUb/F5GwADBQf+Lwqq
a8CGrRfsOAJxim63CHfty5mUc5rUSnTslGYEIOCR1BeQauyPZbPDsDD9MZ1ZaSaf
anFvwFG6Llx9xkU7tzq+vKLoWkm4u5xf3vn55VjnSd1aQ9eQnUcXiL4cnBGoTbOW
I39EcyzgslzBdC++MPjcQTcA7p6JUVsP6oAB3FQWg54tuUo0Ec8bsM8b3Ev42Lmu
QT5NdKHGwHsXTPtl0klk4bQk4OajHsiy1BMahpT27jWjJlMiJc+IWJ0mghkKHt92
6s/ymfdf5HkdQ1cyvsz5tryVI3Fx78XeSYfQvuuwqp2H139pXGEkg0n6KdUOetdZ
Whe70YGNPw1yjWJT1IhMBBgRAgAMBQI+PqMdBQkJZgGAAAoJEIxxjTtQcuH17p4A
n3r1QpVC9yhnW2cSAjq+kr72GX0eAJ4295kl6NxYEuFApmr1+0uUq/SlsQ==
=YJkx
-----END PGP PUBLIC KEY BLOCK-----
|
このキーは、gpg --import を使用して公開 GPG キーリングにインポートすることができます。公開キーの処理方法については、GPG のマニュアルを参照してください。
公開ビルドキーをダウンロードしてインポートしたら、必要な MySQL パッケージと、それに対応する署名(これもダウンロードページから入手できます)をダウンロードします。 署名には、`.asc' というファイル名拡張子が付いています。たとえば、`mysql-standard-4.0.10-gamma-pc-linux-i686.tar.gz' の署名は、`mysql-standard-4.0.10-gamma-pc-linux-i686.tar.gz.asc' です。 パッケージと署名の両方のファイルが同じディレクトリに格納されていることを確認してから、以下のコマンドを実行して、パッケージファイルの署名を検証します。
shell> gpg --verify <package>.asc
Example:
shell> gpg --verify mysql-standard-4.0.10-gamma-pc-linux-i686.tar.gz.asc
gpg: Warning: using insecure memory!
gpg: Signature made Mon 03 Feb 2003 08:50:39 PM MET using DSA key ID 5072E1F5
gpg: Good signature from
"MySQL Package signing key (www.mysql.com) <build@mysql.com>"
|
"Good signature" というメッセージが表示されたら、問題ありません。
RPM による署名チェック
RPM パッケージの場合、別個の署名はありません。RPM パッケージには GPG 署名と MD5 チェックサムが組み込まれています。この署名と MD5 チェックサムは、以下のコマンドを実行して検証できます。
shell> rpm --checksig <package>.rpm Example: shell> rpm --checksig MySQL-server-4.0.10-0.i386.rpm MySQL-server-4.0.10-0.i386.rpm: md5 gpg OK |
注意: RPM 4.1 を使用している場合、GPG 公開キーリングにインポートしたにもかかわらず、(GPG) NOT OK (MISSING KEYS: GPG#5072e1f5) というメッセージが表示されたら、まず RPM キーリングにキーをインポートする必要があります。RPM 4.1 では GPG キーリング(および GPG 自体)の使用が中止され、自身のキーリングが維持されています(これは、RPM がシステムワイドなアプリケーションであり、GPG 公開キーリングはユーザ固有のファイルであるためです)。MySQL 公開キーを RPM キーリングにインポートする場合は、以下のコマンドを使用してください。
shell> rpm --import <pubkey> Example: shell> rpm --import mysql_pubkey.asc |
MD5 チェックサムまたは GPG 署名が一致しない場合は、まず別のミラーサイトからパッケージをもう一度ダウンロードしてみてください。再度、パッケージの完全性を検証できなかった場合は、そのパッケージの完全名と利用したダウンロードサイトを記載して、電子メールで当社にお知らせください(アドレスは webmaster@mysql.com または build@mysql.com )。
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
当社では GNU Autoconf を使用しているので、正常に機能する Posix スレッドおよび C++ コンパイラによってすべての最新のシステムに MySQL を移植することができます(クライアントコードだけをコンパイルする場合は、C++ コンパイラは必要ですがスレッドは不要です)。当社では、主に Linux(SuSE および Red Hat)、FreeBSD、および Sun Solaris (バージョン 8 および 9)上で MySQL ソフトウェアを使用および開発しています
多くのオペレーティングシステムでは、ネイティブスレッドは最新バージョンのOSでのみ有効であることに注意してください。MySQL は、以下のオペレーティングシステムとスレッドパッケージの組み合わせで正常にコンパイルすることが報告されています。
glibc 2.0.7+。 「2.6.2 Linux の注意事項(すべての Linux バージョン)」 節 参照 。
注意: すべてのシステムが、MySQL の実行に同じように適しているとは限りません。特定のプラットフォームが高負荷でミッションクリティカルな MySQL サーバにどのぐらい適しているかは、以下の要因によって決まります。
pthread_mutex_lock() の実装が CPU 時間を生み出すことに重点を置きすぎている場合、そのことで MySQL のパフォーマンスは大きく損なわれることになる。この問題に対処しないと、CPU をマシンに追加すると MySQL の処理速度が実質的に遅くなる。
以上の基準から、現時点で MySQL を実行するのに最適なプラットフォームは、SuSE Linux 8.2、2.4 カーネル、および ReiserFS (または類似の Linux ディストリビューション)を搭載した x86 と、Solaris(2.7 〜 9)を搭載した SPARC です。FreeBSD は第 3 位ですが、スレッドライブラリが改善されればベストグループに仲間入りするはずです。また、MySQL がコンパイルされ、正常に動作する(安定性とパフォーマンスのレベルがまったく同じではないにしても)他のすべてのプラットフォームをいつの日かベストグループに含めることができるようになることを当社は切に希望しています。そのためには、MySQL が依存する OS やライブラリの開発者と協力して当社が努力する必要があります。それらのコンポーネントのいずれかを改善することに興味があり、その開発に影響を与える立場にあり、MySQL の動作を改善するために必要な事柄についての詳細な説明が必要なユーザは、MySQL の社内メーリングリストに電子メールをお送りください。 「1.7.1.1 MySQL メーリングリスト」 節 参照 。
上記の比較は、各 OS の全般的な優劣をつけるためのものではありません。ここでは、特定用途(つまり MySQL の実行)のために特定の OS を選択することに焦点をあてており、その点に関してのみプラットフォームを比較しています。これを念頭に置けば、この比較にさらに多くの論点を含めた場合は、結果は異なったものになります。ある OS が別の OS よりも優れている理由が、単に当社がそのプラットフォームのテストと最適化に他のプラットフォームよりも多くの労力を費やしたためだけであるということもあります。 ここでは、ご使用のセットアップ内で MySQL を使用するプラットフォームを決定する際に参考にしていただけるように当社の所見を述べているにすぎません。
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
最初に、最新の開発版リリースと最新の製品版(安定版)リリースのどちらを使用するかを決めます。
次に、ソースディストリビューションとバイナリディストリビューションのどちらを使用するかを決めます。ご使用のプラットフォーム用のバイナリディストリビューションがある場合、バイナリディストリビューションを使用してください。これは、一般的にソースディストリビューションよりもインストールが簡単なためです。
以下の場合は、ソースインストールを使用した方がうまく行く可能性があります。
MySQL ネイティブクライアントは、両方の MySQL バージョンに接続できる。
拡張 MySQL バイナリディストリビューションには、-max というサフィックスが付いており、mysqld-max と同じオプションが指定されている。 「mysqld-max」 節 参照 。
MySQL-Max RPM を使用する場合は、まず標準の MySQL-server RPM をインストールする必要がある。
mysqld に組み込む場合。以下に、最もよく使用される追加オプションの一覧を示す。
--with-innodb(MySQL 4.0 以降の場合はデフォルト)
--with-berkeley-db (使用できないプラットフォームもある)
--with-raid
--with-libwrap
--with-named-z-libs(一部のバイナリ用)
--with-debug[=full]
MySQL サーバをより高速化したい場合は、必要なキャラクタセットのサポートだけを組み込んで MySQL サーバを再コンパイルする必要がある。その際は、より適切なコンパイラ(pgcc など)を使用するか、使用しているプロセッサ向けにより最適化されたコンパイラオプションを使用する。
MySQL の名前付けスキームでは、3 つの数字と 1 つのサフィックスで構成されるリリース番号が使用されます。たとえば、mysql-4.1.0-alpha のようなリリース名は、以下のように解釈されます。
4)は、メジャーバージョン番号であり、同時にファイル形式も表している。バージョン 4 の全リリースは同じファイル形式を持っている。
1)はリリースレベルである。
0)は、リリースレベル内のバージョン番号である。この数字は、新しいディストリビューションごとに増えていく。通常は、選択したリリースレベルの最新のバージョンが必要である。
alpha)は、リリースの安定性のレベルを示す。
以下のようなサフィックスがある。
alpha は、そのリリースに 100% はテストされていない新しいコードが含まれていることを示している。既知のバグ(通常はない)は、「News」のセクションに記載される。 「D. MySQL Change History」 節 参照 。 ほとんどの alpha リリースには新しいコマンドと拡張機能も含まれている。 alpha リリースでは、大きなコード変更がおきるような開発が行われる可能性があるが、リリースの前にすべてがテストされている。MySQL リリースには既知のバグはない。
beta は、すべての新しいコードがテストされていることを示している。古いコードを破壊するような大きな新しい機能は追加されていない。既知のバグはない。少なくとも 1 か月間、alpha バージョンで重大なバグが報告されず、古いコマンドの信頼性を下げるような機能を追加する計画がない場合は、バージョンはアルファからベータに変わる。
gamma は、一定期間出回っていて、正常に動作すると思われるベータバージョンである。小さな修正だけが追加される。これは、他の多くの企業でリリースと呼ばれているものである。
MySQL 開発プロセスでは、段階の異なるさまざまなバージョンが共存します。当然、旧バージョンのシリーズの関連バグ修正は新バージョンに伝播されます。
3.23 の場合、新バージョンは重大なバグの場合のみリリースされる。
4.0 は、安定版/製品版レベルの品質で、バグ修正のために新しいバージョンがリリースされている。コードの安定性に影響を及ぼすような新機能は追加されていない。
4.1 では、重要な新機能が追加されている。開発システムで使用およびテストするためのソースとバイナリが用意されている。
5.0 は、BitKeeper ツリーからのみ入手できる。
MySQL のすべてのバージョンは、標準テストとベンチマークテストが行われ、比較的安全であることが確認されています。標準テストは、過去に見つかったすべてのバグをチェックするために時間の経過とともに拡張されているので、テストスィートは常に改良されています。
注意: すべてのリリースは少なくとも以下のテストが実行されています。
crash-me テスト
もう 1 つのテストは、当社が社内の実稼動環境で少なくとも 1 台のマシン上で最新の MySQL バージョンを使用することです。当社には 100 ギガバイトを超える処理用データがあります。
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
ここでは、バイナリディストリビューションおよびソースディストリビューションのインストールによって作成されるディレクトリのデフォルトレイアウトについて説明します。
バイナリディストリビューションは、選択したインストール場所(通常は `/usr/local/mysql')でアンパックすることでインストールされ、その場所に以下のディレクトリを作成します。
| ディレクトリ | ディレクトリの内容 |
| `bin' | クライアントプログラムと mysqld サーバ |
| `data' | ログファイル、データベース |
| `docs' | ドキュメント、変更ログ |
| `include' | インクルード(ヘッダ)ファイル |
| `lib' | ライブラリ |
| `scripts' | mysql_install_db |
| `share/mysql' | エラーメッセージファイル |
| `sql-bench' | ベンチマーク |
ソースディストリビューションは、コンフィギャしてコンパイルした後にインストールされます。デフォルトでは、インストールステップによって、以下のサブディレクトリ内の `/usr/local' の下にファイルがインストールされます。
| ディレクトリ | ディレクトリの内容 |
| `bin' | クライアントプログラムとスクリプト |
| `include/mysql' | インクルード(ヘッダ)ファイル |
| `info' | Info 形式のマニュアル |
| `lib/mysql' | ライブラリ |
| `libexec' | mysqld サーバ |
| `share/mysql' | エラーメッセージファイル |
| `sql-bench' | ベンチマークと crash-me テスト |
| `var' | データベースとログファイル |
インストールディレクトリ内では、ソースインストールのレイアウトは、バイナリインストールのレイアウトとは以下のように異なります。
mysqld サーバは、`bin' ディレクトリではなく、`libexec' ディレクトリにインストールされる。
mysql_install_db は、`/usr/local/mysql/scripts' ディレクトリではなく、`/usr/local/bin' ディレクトリにインストールされる。
スクリプト `scripts/make_binary_distribution' を実行して、コンパイルされたソースディストリビューションから独自のバイナリインストールを作成できます。
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
MySQL AB 社内で MySQL は非常に急速に進化しており、当社は他の MySQL ユーザとこれを共有したいと考えています。他のユーザが必要としていると思われる非常に有用な機能がある場合は、リリースを作成します。
また、簡単に実装できる機能を求めているユーザの支援にも努めています。ライセンスユーザ、特に拡張電子メールサポート対象のユーザが何を要望しているかに注意し、これらのユーザを支援する努力を行っています。
ユーザは新しいリリースをダウンロードする必要はありません。本当に必要なものが新しいリリースに含まれている場合は、「News」のセクションで通知されます。 「D. MySQL Change History」 節 参照 。
MySQL を更新する場合、当社は以下のポリシーを使用します。
現行の製品版リリースは、バージョン 4.0 です。アクティブな開発はすでにバージョン 4.1 および 5.0 に進んでいます。バージョン 4.0 のバグの修正と、3.23 シリーズの重大なバグの修正は今後も続けられます。 当社は、完全な開発凍結はよしとしません。これによって、バグ修正と "行うべき" ことが放置されることになるからです。"一部凍結" というのは、"すでに稼動しているものにほぼ間違いなく影響を与えない" 小さな変更が追加されることがあるということを意味します。
MySQL では、大部分の他製品とは少し異なる名前付けスキームが使用されます。 一般に、新しいバージョンに置き換えられることなく 2 週間公開されたバージョンは、使用しても比較的安全です。 「2.2.4 使用すべき MySQL のバージョン」 節 参照 。
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
当社は、リリースにバグがないようにするために多くの時間と労力を費やしています。 当社の知る限り、既知の '重大な' 再現可能なバグがある MySQL バージョンは 1 つもリリースされていません。
重大なバグとは、通常の使用で MySQL をクラッシュさせる、一般的なクエリに対して誤った応答を返すバグ、またはセキュリティに問題があるバグです。
設計上の決定に依存する未解決の障害、バグ、問題はすべて文書化されています。 「1.8.6 MySQL の既知のエラーと設計上の問題」 節 参照 。
当社の目標は、安定版の MySQL が不安定になるような危険を冒すことなく、修正可能なものはすべて修正することです。場合によって、これは、開発版の問題は修正できるが、安定版(製品版)の問題は修正できないということを意味します。当然、そのような問題は、ユーザに知らせるために文書化されます。
以下に、当社のビルドプロセスの仕組みを説明します。
mysql と announce のメーリングリストで告知メールを送信する。
「1.7.1.1 MySQL メーリングリスト」 節 参照 。
告知メッセージには、リリースに対するすべての変更と、リリースに関する既知の問題の一覧が記載される
(リリースノートに「既知の問題」のセクションが必要であったのは、ほんの一握りのリリースだけである)。
'a' リリースをビルドする。当社の巨大なユーザ基盤のおかげで、問題は迅速に発見される。
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top ] | [Contents ] | [Index] | [ ? ] |
MySQL AB は、サービスとして MySQL の一連のバイナリディストリビューションを提供します。これらのバイナリディストリビューションは、社内でコンパイルするか、ユーザが当社にマシンへのアクセスを提供してくれる場所でコンパイルされます。
プラットフォーム固有のパッケージ形式で提供するバイナリ( 「2.1 標準 MySQL のクイックインストール」 を参照)のほかに、tar 形式の圧縮アーカイブ(.tar.gz)によってさまざまなプラットフォーム用のバイナリディストリビューションも提供します。
これらのディストリビューションは、Build-tools/Do-compile スクリプトを使用して生成されます。このスクリプトは、ソースコードをコンパイルし、scripts/make_binary_distribution を使用してバイナリ tar.gz アーカイブを作成します。これらのバイナリは、以下のコンパイラとオプションによってコンフィギャおよびビルドされます。
MySQL AB の開発システムでビルドされるバイナリは以下のとおりです。
gcc 2.95.3
CFLAGS="-O2 -mcpu=pentiumpro" CXX=gcc CXXFLAGS="-O2 -mcpu=pentiumpro -felide-constructors" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --enable-assembler --disable-shared --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static
ecc (Intel C++ Itanium Compiler 7.0)
CC=ecc CFLAGS="-O2 -tpp2 -ip -nolib_inline" CXX=ecc CXXFLAGS="-O2 -tpp2 -ip -nolib_inline" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile
ecc (Intel C++ Itanium Compiler 7.0)
CC=ecc CFLAGS=-tpp1 CXX=ecc CXXFLAGS=-tpp1 ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile
ccc (Compaq C V6.2-505 / Compaq C++ V6.3-006)
CC=ccc CFLAGS="-fast -arch generic" CXX=cxx CXXFLAGS="-fast -arch generic -noexceptions -nortti" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --with-mysqld-ldflags=-non_shared --with-client-ldflags=-non_shared --disable-shared
gcc 2.95.3
CFLAGS="-O2" CXX=gcc CXXFLAGS="-O2 -felide-constructors" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --disable-shared --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static
gcc 3.2.1
CXX=gcc ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --disable-shared
gcc 3.2.3
CC=gcc CFLAGS="-O3 -fno-omit-frame-pointer" CXX=gcc CXXFLAGS="-O3 -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --libexecdir=/usr/local/mysql/bin --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --disable-shared --with-innodb
gcc 3.2
CC=gcc CFLAGS="-O3 -fno-omit-frame-pointer" CXX=gcc CXXFLAGS="-O3 -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --enable-assembler --with-named-z-libs=no --with-named-curses-libs=-lcurses --disable-shared
gcc 3.2
CC=gcc CFLAGS="-O3 -m64 -fno-omit-frame-pointer" CXX=gcc CXXFLAGS="-O3 -m64 -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --enable-assembler --with-named-z-libs=no --with-named-curses-libs=-lcurses --disable-shared
gcc 2.95.3
CC=gcc CFLAGS="-O3 -fno-omit-frame-pointer" CXX=gcc CXXFLAGS="-O3 -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --enable-assembler --with-named-curses-libs=-lcurses --disable-shared
cc-5.0 (Sun Forte 5.0)
CC=cc-5.0 CXX=CC ASFLAGS="-xarch=v9" CFLAGS="-Xa -xstrconst -mt -D_FORTEC_ -xarch=v9" CXXFLAGS="-noex -mt -D_FORTEC_ -xarch=v9" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --enable-assembler --with-named-z-libs=no --enable-thread-safe-client --disable-shared
gcc 3.2.3
CFLAGS="-O2 -mcpu=powerpc -Wa,-many " CXX=gcc CXXFLAGS="-O2 -mcpu=powerpc -Wa,-many -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --with-named-z-libs=no --disable-shared
xlC_r (IBM Visual Age C/C++ 6.0)
CC=xlc_r CFLAGS="-ma -O2 -qstrict -qoptimize=2 -qmaxmem=8192" CXX=xlC_r CXXFLAGS ="-ma -O2 -qstrict -qoptimize=2 -qmaxmem=8192" ./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --libexecdir=/usr/local/mysql/bin --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --with-named-z-libs=no --disable-shared --with-innodb
gcc 3.3
CFLAGS="-O2 -mcpu=powerpc -Wa,-many" CXX=gcc CXXFLAGS="-O2 -mcpu=powerpc -Wa,-many -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --with-server-suffix="-pro" --enable-thread-safe-client --enable-local-infile --with-named-z-libs=no --disable-shared
gcc 3.1
CFLAGS="-DHPUX -I/opt/dce/include -O3 -fPIC" CXX=gcc CXXFLAGS="-DHPUX -I/opt/dce /include -felide-constructors -fno-exceptions -fno-rtti -O3 -fPIC" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --with-pthread --with-named-thread-libs=-ldce --with-lib-ccflags=-fPIC --disable-shared
aCC (HP ANSI C++ B3910B A.03.33)
CC=cc CXX=aCC CFLAGS=+DD64 CXXFLAGS=+DD64 ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --disable-shared
aCC (HP ANSI C++ B3910B A.03.33)
CC=cc CXX=aCC CFLAGS="+DAportable" CXXFLAGS="+DAportable" ./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --libexecdir=/usr/local/mysql/bin --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --disable-shared --with-innodb
gcc 3.1
CC=gcc CFLAGS="-O3 -fno-omit-frame-pointer" CXX=gcc CXXFLAGS="-O3 -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --disable-shared
gcc 2.95.4
CFLAGS=-DHAVE_BROKEN_REALPATH ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --enable-assembler --with-named-z-libs=not-used --disable-shared
gcc 2.95.3qnx-nto 20010315
CC=gcc CFLAGS="-O3 -fno-omit-frame-pointer" CXX=gcc CXXFLAGS="-O3 -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --disable-shared
以下のバイナリは、他のユーザによって MySQL AB に提供されたサードパーティのシステム上でビルドされています。これらのバイナリは、好意によって提供されています。MySQL AB は、これらのシステムを完全に管理しているわけではないので、これらのシステム上でビルドされたバイナリに対しては限られたサポートしか提供できません。
gcc 2.95.3
CFLAGS="-O3 -mpentium" LDFLAGS=-static CXX=gcc CXXFLAGS="-O3 -mpentium -felide-constructors" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --with-named-z-libs=no --enable-thread-safe-client --disable-shared
CC 3.2
CC=cc CFLAGS="-O" CXX=CC ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --with-named-z-libs=no --enable-thread-safe-client --disable-shared
cc/cxx (Compaq C V6.3-029i / DIGITAL C++ V6.1-027)
CC="cc -pthread" CFLAGS="-O4 -ansi_alias -ansi_args -fast -inline speed -speculate all" CXX="cxx -pthread" CXXFLAGS="-O4 -ansi_alias -fast -inline speed -speculate all -noexceptions -nortti" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --with-prefix=/usr/local/mysql --with-named-thread-libs="-lpthread -lmach -lexc -lc" --disable-shared --with-mysqld-ldflags=-all-static
gcc 3.0.1
CC=gcc CFLAGS="-O3 -fno-omit-frame-pointer" CXXFLAGS="-O3 -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --disable-shared
gcc 3.2.1
CFLAGS=-DHAVE_BROKEN_REALPATH ./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --libexecdir=/usr/local/mysql/bin --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --disable-shared --with-innodb
以下のコンパイルオプションは、MySQL AB がかつて提供していたバイナリパッケージに使用されていたものです。これらのバイナリは現在では更新されていませんが、参考のためにここにコンパイルオプションを記載します。
egcs 1.1.2
CC=gcc CFLAGS="-O3 -fno-omit-frame-pointer" CXX=gcc CXXFLAGS="-O3 -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --enable-assembler --disable-shared
gcc 2.95.2
CFLAGS="-O3 -mpentiumpro" CXX=gcc CXXFLAGS="-O3 -mpentiumpro -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --enable-assembler --with-mysqld-ldflags=-all-static --disable-shared --with-extra-charsets=complex
gcc 2.7.2.1
CC=gcc CXX=gcc CXXFLAGS="-O3 -felide-constructors" ./configure --prefix=/usr/local/mysql --disable-shared --with-extra-charsets=complex --enable-assembler
egcs 1.0.3a or 2.90.27 or gcc 2.95.2 and newer
CC=gcc CFLAGS="-O3" CXX=gcc CXXFLAGS="-O3 -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --with-low-memory --with-extra-charsets=complex --enable-assembler
gcc 2.8.1
CC=gcc CXX=gcc CXXFLAGS=-O3 ./configure --