powerdee.com
Google
 
このサイト内 Web
 
カウンタ

MySQLのインストール

インデックスへ戻る

MySQLパッケージのダウンロード

インストールの方法としては、ソースコード・バイナリパッケージ・rpmの3種類があるが、 ここではバイナリパッケージのインストール方法を説明する。

バイナリパッケージは各プラットフォーム毎に標準構成(Standard)、拡張構成(Max)、開発者向け(Debug)の 3つのファイルが用意されている。

通常は、Standard版でもよいのだが、いくつかのストレージエンジンが追加されているMaxをインストールしてみる。
Maxの詳細については、こちらを参照。
Debugはデバック情報付きでコンパイルされているため性能が劣るので、利用しない。

Linuxのバイナリパッケージには、いくつか種類がある。x86版では以下の3種類がある。

Linux (non RPM package) downloads

  1. Linux (x86, glibc-2.2, "standard" is static, gcc) … glibc2.2でスタティックリンク。スレッド実装は、LinuxThread。
  2. Linux (x86) … glibc2.3でダイナミックリンク。スレッド実装は環境よって、LinuxThreadもしくは、NPTL。

Linux (non RPM, Intel C/C++ compiled, glibc-2.3)downloads

  1. Linux (x86) … glibc2.3だが、icc(Intelコンパイラ)でコンパイルされている。

ここで、Linuxのスレッドライブラリについて補足しておく。
Linuxカーネル2.4(glibc2.2)までは、LinuxThreadが標準だったが、Linuxカーネル2.6(glibc2.3)では、 NPTL(Native POSIX Thread Library)となっている。 NPTLは、スレッド数が大量になったときの処理効率が改善されている。

以下のコマンドを入力して、mysqld_safeとmysqldの2つのみだった場合はNPTLで、複数表示されれば LinuxThreadである。(プロセスではないが実装上そのように見える)

$ ps auxwww | grep mysql[d]

さて、自分の環境はCentOS3であるが、一応確認してみる。

$ ls /lib/libc-*
/lib/libc-2.3.2.so

$ getconf GNU_LIBPTHREAD_VERSION
NPTL 0.60

glibc2.3かつNPTLが有効であることが確認できた。
(2)のmysql-max-5.0.24a-linux-i686-glibc23.tar.gzをインストールしてみる。


インストールディレクトリの準備

以下のような構成でMySQLをインストールする。

ディレクトリ パラメータ名 今回の設定 MySQLデフォルト設定
MySQL本体 basedir /usr/local/mysql カレントディレクトリ
データベース領域 datadir /var/lib/mysql/data basedir/data
サーバログ log-error /var/log/mysql basedir/data
バイナリログ log-bin /var/lib/mysql/binlog basedir/data
ソケットファイル socket /var/lib/mysql /tmp

あらかじめ上記ディレクトリを作成しておく。

# mkdir -p /var/lib/mysql/data
# mkdir -p /var/log/mysql
# mkdir -p /var/lib/mysql/binlog

パーミッションとオーナーの設定を行う。

# chown -R mysql:mysql /var/lib/mysql
# chown -R mysql:mysql /var/log/mysql
# chmod -R 755 /var/lib/mysql
# chmod -R 755 /var/log/mysql

OSユーザー/グループの作成

ユーザーは任意だが、今回はユーザーとグループをmysqlとする。


MySQL本体のインストール

ダウンロードした、バイナリパッケージ(mysql-max-5.0.24a-linux-i686-glibc23.tar.gz)をMySQL本体格納 ディレクトリ(/usr/local/mysql)にインストールする。

# cd /usr/local
# tar zxvf /tmp/mysql-max-5.0.24a-linux-i686-glibc23.tar.gz
# ln -s mysql-max-5.0.24a-linux-i686-glibc23 mysql
# chown -R root:mysql /usr/local/mysql-max-5.0.24a-linux-i686-glibc23

初期化パラメータファイルの作成

サンプルが、/usr/local/mysql/support-files/my-*.cnfとしてインストールされているので、これらのうち my-medium.cnfを基にして、/etc/my.cnfを作成する。

[client]
#password       = your_password
port            = 3306
socket          = /var/lib/mysql/mysql.sock    <-- /tmp/mysql.sockを変更

[mysqld]
port            = 3306
socket          = /var/lib/mysql/mysql.sock    <-- /tmp/mysql.sockを変更
skip-locking
key_buffer = 16M
max_allowed_packet = 1M
table_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M

basedir = /usr/local/mysql    <-- 追加
datadir = /var/lib/mysql/data    <-- 追加
character-set-server = cp932    <-- 追加
log-error = /var/log/mysql/error.log    <-- 追加
log-slow-queries = /var/log/mysql    <-- 追加
long-query-time = 3    <-- 追加
log-bin = /var/lib/mysql/binlog/mysql-bin    <-- mysql-binを変更
sync_binlog = 1    <-- 追加
lower_case_table_names = 1    <-- 追加

server-id       = 1

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash

[isamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M

[myisamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]
interactive-timeout

権限データベースの作成

以下のコマンドでMySQLのシステム用データベースを初期セットアップする。

# cd /usr/local/mysql
# ./scripts/mysql_install_db --user=mysql

MySQLサーバの起動と停止

準備ができたので、起動してみます。

起動

# cd /usr/local/mysql
# ./bin/mysqld_safe --user=mysql &
[1] 3621
# Starting mysqld daemon with databases from /var/lib/mysql/data

起動の確認

# ./bin/mysqladmin ping
mysqld is alive

停止

# ./bin/mysqladmin shutdown
STOPPING server from pid file /var/lib/mysql/data/host.powerdee.com.pid
061028 21:46:10  mysqld ended

[1]+  Done                    ./bin/mysqld_safe --user=mysql

自動起動設定

自動起動スクリプトは/usr/local/mysql/support-files/mysql.serverというファイルを利用する。

# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
# service mysql start
Starting MySQL                                             [  OK  ]
# service mysql stop
Shutting down MySQL..                                      [  OK  ]

自動起動を設定する

# chkconfig --add mysql
# chkconfig --list | grep mysql
mysql           0:オフ  1:オフ  2:オン  3:オン  4:オン  5:オン  6:オフ

インデックスへ戻る


おすすめ書籍


現場で使える MySQL (DB Magazine SELECTION)

著者:松信 嘉範
出版社:翔泳社(2006-03-17)
価格:¥2,730(税込)
MySQL 徹底入門 第2版

著者:遠藤 俊裕、坂井 恵、館山 聖司、鶴長 鎮一、とみた まさひろ、班石 悦夫、松信 嘉範
出版社:翔泳社(2006-01-24)
価格:¥3,654(税込)


ページTopへ / ▲Homeへ