jseek.org is study memo |
フリーソフトの中では、最も高速なデータベースソフトウェアと言われるソフトウェア。
一昔前は、単純な機能の提供にとどめ、速度に重視を置いていたといわれますが
最近では、速度だけではなく、機能も徐々に豊富になっているデータベースソフトウェアです。
ということで、ここではMySQLのインストールについて記述します。 今回対象としているのは2005/10/25 現在の安定推奨版であるmysql-4.1.15です。
ユーザの追加
一般的にMySQLはmysql(グループ名もmysql)というユーザ権限にて動作をさせることが
多いようです。今回、こちらでもmysqlというユーザを利用するという前提でインストールを
行いますので、ここでmysqlというグループとmysqlと言うユーザを作成します。
|
グループ番号、ユーザ番号はVine Linux 3.2にてRPMパッケージを導入したときのものを
参考に設定しています。また、ホームディレクトリを「/usr/local/mysql」としたのは、
この配下にソフトウェアを配置するためです。加えて、mysqlに対してシェルを
与えているのは、インストールをmysqlユーザの権限で行うためです。
インストール
単純にデータベースサーバとして動作し、SSLをサポートしない状態で
インストールを行います。また設定ファイルは「/usr/local/etc/mysql」以下に
配置されるものとし、同時にMySQLのサーバデーモンがmysqlというユーザ権限の
もと動作するものとします。また、ソースファイルは「/usr/local/src」に
おいてあるものとします。
(作業を行う一般ユーザ名は「mysql」、グループ名は「mysql」とします。)
|
今回はmysql-4.1.xxでのオプションとして、ベースディレクトリを指定する
「--prefix」オプション、設定ファイルのベースディレクトリを指定する
「--sysconfdir」オプション、そしてmysqlのサーバデーモンをどのユーザの
権限で動かすか指定する「--with-mysqld-user」、データベースで扱う基本
文字コードを指定する「--with-charset」、基本文字コード以外でオプションとして
文字コードを指定する「--with-extra-charsets」あたりを指定しておきます。
詳しいオプションの内容については「./configure --help」として
確認してみて下さい。ちなみにここでは基本文字コードとしてEUCを設定したいので
「ujis」、オプションでその他すべてを追加しています。
設定ファイルの準備
これでインストールは完了しましたので、ここでは、設定ファイルの
準備を行います。設定ファイルのサンプルは「$MYSQL_BASE/share/mysql」以下に
置かれています。今回はこの中のmy-small.cnfをコピーし、これを
編集して利用します。
|
データベースの初期化
ここまでできましたら、設定関連はすべて終了です。では、実際に
データベースを使うための準備を行っていきましょう。
まずはデータベースの初期化を行います。データベースの初期化は
「mysql」というユーザで実施する必要があることに注意して下さい。
|
MySQLの起動
これで起動するための準備はすべて整いました。では、実際に次の コマンドによりMySQLを起動してみましょう。
|
ユーザアカウントの管理
まず、インストールしたての状態にはパスワードのないユーザがいますので、
これを削除します。ユーザに関する情報はmysqlというデータベースにあります。
ですので、以下のようにmysqlというデータベースに接続をしてから作業を
行う必要があります。作業が終わりましたらMySQLのデーモンを一度再起動する
必要があります。
|
上記の「Query OK, 1 row affected (0.00 sec)」という部分はMySQLが
処理に対して返した結果です。
次にインストールしたての状態ではrootのパスワードはありませんので、
これを設定します。
|
ここでいう「ROOT_PASSWORD」とは設定するパスワードのことを指します。
MySQLのユーザアカウントの追加
MySQLのデータベースをユーザに対して提供するには、アカウントの追加が
必要となります。今回は、追加するユーザに対してすべての権限を
与える形でユーザの追加を実施します。ユーザの管理でもお話しました通り、
ユーザ情報はデータベースで管理されていますので、以下のように作業を行います。
|
上記の例ではホスト名「HOSTNAME」上に存在するアカウント「USER」に
対してパスワード「PASSWORD」を設定しすべての権限を与えています。
また、同様のコマンドを3度実行しているわけですが、まず「localhost」から
アクセスをうけたときの許可設定を、2番目は「任意のホスト」からアクセスを
受けたときの設定を、最後に「HOSTNAME」というマシンとしてアクセスを
受けた場合の設定を行っています。
mysqlアカウントのロック
これですべての作業は終了しましたので、セキュリティ保護のために mysqlアカウントを以下のようにロックしておきましょう。
|
起動スクリプトの登録
すべての作業は終了していますが、MySQLを自動起動させたいひとのために
補足しておきます。MySQLはインストールの際、「$MYSQL_BASE/share/mysql」以下に
mysql.serverという名前でinitスクリプトを用意してくれています。
ですので、これを以下のようにしてコピー設定することにより、MySQLを
自動起動させることができるようになります。
|
システムへのライブラリの登録
すべての作業は終了していますが、MySQLを使う他のシステムへの配慮のため
補足しておきます。MySQLはインストールの際、「$MYSQL_BASE/lib/mysql」以下に
MySQLのライブラリがインストールされています。
ですので、これを「/etc/ld.so.conf」に追加して反映させておく必要があります。
|
以上でMySQLに関するすべての作業は終了です。