Linux RPM
MySQLのデータベースを利用するには、必要最低限のパッケージとして、MySQLサーバのMySQL-serverパッケージと、MySQLクライアントプログラムのMySQL-clientパッケージをインストールします。RPM関連はMySQL ABサイトから無償でダウンロードできます。
MySQL ABサイトのダウンロードページには、以下のRPMパッケージが用意されています。
- MySQL-server-VERSION.i386.rpm
- MySQLサーバ。
- MySQL-client-VERSION.i386.rpm
- MySQLクライアントプログラム。
- MySQL-bench-VERSION.i386.rpm
- テストおよびベンチマーク。このパッケージを利用するには、PerlとDBI、DBD::mysqlモジュールが必要です。
- MySQL-devel-VERSION.i386.rpm
- Perlモジュールなど他のMySQLクライアントをコンパイルする際に必要なライブラリとファイルを含みます。
- MySQL-shared-VERSION.i386.rpm
- MySQLの共有ライブラリ(libmysqlclient.so*)が含まれています。このパッケージをインストールする場合は、MySQL-shared-compatパッケージをインストールしません。
- MySQL-shared-compat-VERSION.i386.rpm
- MySQLの共有ライブラリが含まれています。インストール済みの旧バージョンのMySQLをライブラリの依存性を壊すことなくアップグレードを希望する際には、MySQL-sharedの代わりにこのパッケージをインストールします。
- MySQL-embedded-VERSION.i386.rpm
- 埋め込み型MySQLサーバライブラリです。
- MySQL-VERSION.src.rpm
- ソースコードを含むすべての旧パッケージです。
MySQLのRPMはMySQL ABサイトのダウンロードページ http://dev.mysql.com/downloads/ を参照してください。
RPMコマンドの使い方
RPMパッケージに含まれるファイルを確認します。
rpm -qpl MySQL-server-VERSION.i386.rpm
クライアントパッケージをインストールするには、iオプションを使います。
rpm -i MySQL-client-VERSION.i386.rpm
インストール時に詳細情報を出力するには、次のように-vオプションと-hオプションを追加します。
rpm -ivh MySQL-client-VERSION.i386.rpm
iオプションで複数のパッケージをまとめてインストールすることができます。ここでは、MySQL-server-VERSION.i386.rpmとMySQL-client-VERSION.i386.rpmをインストールしています。
rpm -i MySQL-server-VERSION.i386.rpm MySQL-client-VERSION.i386.rpm
RPMはデータを /var/lib/mysql に保存します。RPMは起動時にサーバーを立ちあげるように、/sbin/rc.d/ に登録します。
簡単インストールコマンドのリスト
MySQLをバイナリからインストールするために行なわなければならない基本的なコマンドを紹介しましょう。
> groupadd mysql
> useradd -g mysql mysql
> tar xvfz mysql-VERSION-OS.tar.gz
> ln -s mysql-VERSION-OS mysql
> cd mysql
> scripts/mysql_install_db
> chown -R root /usr/local/mysql
> chown -R mysql /usr/local/mysql/data
> chgrp -R mysql /usr/local/mysql
> chown -R root /usr/local/mysql/bin
> bin/safe_mysqld &
新しいユーザを追加するには bin/mysql_setpermissionスクリプトを使用できます。使用の際はDBIとMsql-Mysql-modulesのPerlモジュールをインストールする必要があります。
インストール手順
MySQL用のユーザとグループの作成
mysqldが動作するためのユーザとグループを作成します。次のコマンドはmysqlグループとmysqlユーザを作成します。
> groupadd mysql
> useradd -g mysql mysql
上記コマンドがない場合は、環境によってはadduserやaddgroupを使うことになります。使い方は同じです。
バイナリファイルを解凍する
それではインストールしてみましょう。まず、解凍したいディレクトリを選んで、そこで解凍します。以下の例では、/usr/local に解凍し、MySQLをインストールするディレクトリ /usr/local/mysql を作っています。
・ファイルを解凍
# tar xvfz mysql-VERSION-OS.tar.gz
...(ファイルが展開されmysql-VERSION-OSディレクトリが作成される)
・リンクを作成
# ln -s mysql-VERSION-OS mysql
・mysqlディレクトリに移動
# cd mysql
いくつかのファイルとサブディレクトリがmysqlディレクトリ中にあります。インストール目的の最も重要なものはbinとscriptsディレクトリです。
- binディレクトリ
このディレクトリはクライアントプログラムとサーバを含んでいます。シェルがMySQLプログラムを正しく見つけられるように、このディレクトリのフルパス名をPATH環境変数に追加したほうが良いでしょう。 - scriptsディレクトリ
このディレクトリはmysql_install_dbスクリプトを含んでいます。これはサーバアクセスパーミッションを初期化するために使用されます。
mysqlaccessを使用し、かつMySQL配布を非標準の場所に持ちたい場合は、mysqlaccessがmysqlクライアントを見つけようとする場所を変更する必要があります。bin/mysqlaccessスクリプトの18行目付近を編集しましょう。
$MYSQL = '/usr/local/bin/mysql';
パスをmysqlが実際にシステム上におかれている場所を示すように変更します。
MySQL許可テーブルを作成します。この作業は初めてMySQLをインストールするときだけ行います。
# scripts/mysql_install_db
MySQLをマシン起動時に自動的に開始したい場合、「support-files/mysql.server」をシステムのスタートアップファイルがある場所にコピーします。
データディレクトリ以下のファイルの所有者をmysqlに、それ以外のファイルの所有者をrootにする手順は以下のとおりです。
> chown -R root /usr/local/mysql
> chown -R mysql /usr/local/mysql/data
> chgrp -R mysql /usr/local/mysql
# bin/safe_mysqld &
クライアントプログラムのビルド
自分で書いたか、第三者が作成した MySQL クライアントプログラムをコンパイルする場合、 -lmysqlclientオプションを使用してリンクされなければなりません。また -L オプションを指定して、ライブラリがどこにあるか指定する必要がある場合もあります。例えばライブラリが /usr/local/mysql/lib にインストールされるならば、リンクの時に -L/usr/local/mysql/lib -lmysqlclient と指定します。
MySQL ヘッダーファイルを使用するクライアントのために、それらをコンパイルする時には、-Iオプションを指定しなければならない事もあります。 (例えば、-I/usr/local/mysql/include)