MySQLのインストールについて解説します。MySQLは、数あるリレーショナルデータベース(RDB)のうちの1つで、フリーで提供された高速で安定性や堅牢性にも優れた高機能なデータベースサーバです。
|
|
■MySQL4のダウンロード
■MySQL専用のユーザーとグループの追加
インストールを行う前に予め、MySQL専用のユーザーとグループを作成しておきます。
# groupadd mysql
# useradd -g mysql mysql |
|
コンパイル時にOpenSSL関係のエラーが出ないようにあらかじめ、SSLヘッダとSSLライブラリへのパスを通しておきます。
$ CPPFLAGS=-I/usr/local/ssl/include
$ export CPPFLAGS
$ LDFLAGS=-L/usr/local/ssl/lib
$ export LDFLAGS |
|
■MySQL4のインストール
データベースを格納するディレクトリはデフォルトでは、/usr/loca/mysql/varですが、この位置を変更したい場合は、
--localstatedir=[
DIR ] を指定します。また、重要なのはデフォルトで使用するcharsetを指定する--with-charset
をujis(euc-jp)にしておきます。この指定がないと、デフォルトで ISO-8859-1 (Latin1)
になってしまい、文字化けが発生します。--with-openssl と --with-vio はセットで、MySQLにOpenSSL機能を組み込みます。OpenSSLで通信内容を暗号化したい方はオプションをつけてください。但し、
OpenSSLの組み込みが可能なのは4.0.1以上ですので注意してください。
$ cd /usr/local/src
$ tar xzvf mysql-4.0.17.tar.gz
$ cd mysql4.0.17
$ ./configure --prefix=/usr/local/mysql
\
--with-charset=ujis
\
--with-extra-charsets=all
\
--with-openssl \
--with-vio
$ make
# make install |
|
■データベースの初期化
初めてMySQLをインストールした方のみ、データベースを初期化するため、以下のコマンドを実行してください。以前にインストールしたことのある方は読み飛ばしてください。
# ./scripts/mysql_install_db |
|
■ディレクトリ所有権の変更
# chown -R root
/usr/local/mysql
# chown -R mysql /usr/local/mysql/var
# chgrp -R mysql /usr/local/mysql
# ls -l /usr/local/ | grep mysql
drwxr-xr-x 12 root mysql 4096 1月 1 04:08
mysql |
|
設定ファイル(my.cnf)を/etc 直下にコピーしておきます。規模の大小によっていくつかのファイルが用意されており、my-huge.cnf、my-large.cnf、my-medium.cnf、my-small.cnf
の4つの設定ファイルがあります。ここでは、my-medium.cnf を使うことにします。
# cp support-files/my-medium.cnf
/etc/my.cnf |
|
■MySQLの起動
# /usr/local/mysql/bin/mysqld_safe
--user=mysql &
[1] 26096
# Starting mysqld daemon with databases
from /usr/local/mysql/var |
|
起動させたら、次に動作テストをしてみます。以下のように表示されたでしょうか?デフォルトでは、mysqlとtestのテーブルが既に作成されています。
# mysqladmin ping
mysqld is alive
# /usr/local/mysql/bin/mysqlshow
+-----------+
| Databases |
+-----------+
| mysql |
| test |
+-----------+ # mysqlshow mysql Database: mysql
+--------------+
| Tables |
+--------------+
| columns_priv |
| db |
| func |
| host |
| tables_priv |
| user |
+--------------+ |
|
■rootパスワードを設定する
MySQLインストール時にはroot パスワードは設定されていませんのでパスワードを設定しておきます。root
パスワードはLinuxのログインパスワードとは別物なのでLinux のroot パスワードと異なるものを設定しても構いません。以下コマンドでMySQL
にログインしてください。ログイン後、set password コマンドでパスワードを設定します。
# mysql -u root mysql
Welcome to the MySQL monitor. Commands
end with ; or \g.
Your MySQL connection id is 5 to server
version: 4.0.17-log
Type 'help;' or '\h'
for help. Type '\c'
to clear the buffer.
mysql> SET PASSWORD FOR root=PASSWORD('hogehoge');
Query OK, 0 rows affected (0.02 sec)
mysql> quit
Bye |
|
■MySQLへ接続する
上記で作成したパスワードでMySQLに接続します。書式は以下のとおりです。
書式:>mysql [-h host_name] [-u user_name] [-p your_password]
# mysql -h localhost
-u root -p
Enter password: *************** |
|
なお、毎回パスワードを入力するのが面倒くさい場合は、/etc/my.cnf に直接パスワードを記述しておくことで入力する手間を省くことができるようになります。その際、/etc/my.cnf
はroot しか読み書きできないようにパーミッションを適切に設定しておく必要があります。通常は、400
もしくは、600 にしておいてください。
# vi /etc/my.cnf
password = hogehoge
# chmod 600 /etc/my.cnf
# ls -l /etc/my.cnf
-rw------- 1 root root 4832 1月 1 15:31
/etc/my.cnf |
|
■MySQLの自動起動設定
システム起動時にMySQLを起動させるには、
mysql.serverを使います。デフォルトでは、
/ [prefix ] /share/mysql にインストールされているので、/etc/rc.d もしくは、/etc/rc.d/init.d
にコピーしておきます。インストールされていない場合は、ソースディレクトリの support-files/ からコピーして使ってください。
# cd /usr/local/mysql/share/mysql/
# cp mysql.server /etc/rc.d/init.d |
|
次に、-add オプションを使ってchkconfig に追加しておきます。
# chkconfig --add
mysql.server
# chkconfig --list mysql.server
mysql.server 0:オフ 1:オフ 2:オン 3:オン 4:オン
5:オン 6:オフ |
|
■MySQLサーバーの情報を調べる
以下コマンドでMySQLの環境変数が調べられます。
サーバーのステータス情報を表示します。
# mysqladmin extended-status |
|
現在、実行中のプロセスを確認します。
デフォルトのcharsetを調べます。コンパイル時に指定したcharsetになっているかどうか確認しておいてください。
mysql> show variables
like 'character_set';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| character_set | ujis |
+---------------+-------+
1 row in set (0.00 sec)
|
|
configure オプションにSSL機能を組み込むように指定した方は以下のように、値がYES となっていることを確認してください。
mysql> show variables
like 'have_openssl';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| have_openssl | YES |
+---------------+-------+
1 row in set (0.00 sec)
|
|
■MySQL管理用のユーティリティ
MySQLにはいくつか管理用のユーティリティが用意されており、これから使っていくにあたって有用と思われるものについて紹介しておきます。
|
mysql |
SQLコマンドを入力するためのコマンドラインツール |
|
mysql_install_db |
MySQLの権限テーブルを初期状態にする。インストール時に実行します。Windowsでは使用不可。
|
|
mysqlaccess |
接続権限を表示する。Windowsでは使用不可。 |
|
mysqladmin |
サーバーの停止、rootパスワードの変更、DBアクセスの切断。 |
|
mysqlbug |
バグレポートを発行する。Windowsでは使用不可。 |
|
mysqld |
MySQLデーモン。 |
|
mysqld_multi |
複数のMySQLサーバーを管理する際に使用する。 |
|
mysqldump |
データベースをバックアップするツール |
|
mysqlimport |
外部ファイルをDBテーブルにインポートする |
|
mysqlshow |
DBやテーブルに関する情報を表示する |
|
msql2mysql |
mSQLのプログラムをMySQLに変更するプログラム。 |
|
replace |
msql2mysqlが使うユーティリティプログラム |
|
safe_mysqld |
mysqldを偶発的なアクシデントに対してより安全に起動する |
|
myisamchk |
テーブルのチェック、最適化修復を行う |
|