MySQL導入ガイド

RPM、バイナリ配布でのインストール

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)

関連記事