>> i's SQUARE >> Webサービス構築ガイド >> LinuxにMySQLをインストールする

LinuxにMySQLをインストールする

サーバ上で利用するデーターベースとして高速で安定性のある「MySQL」をLinuxへインストールして管理する方法を以下に記述します。



■ダウンロード

MySQLのダウンロードページ から「MySQL Community Server」の「Download」をクリックして、
一番下の「Source downloads」から最新版の「mysql-X.X.X.tar.gz」(X.X.Xは実際には最新版の数字が入ります)をダウンロードします。



■インストール

・ダウンロードした「mysql-X.X.X.tar.gz」を解凍します

tar -xvfz mysql-X.X.X.tar.gz
・作成されたディレクトリ「mysql-X.X.X」に移動します
cd mysql-X.X.X
・MySQL用のユーザーとグループを作成します

※Linuxの場合:
groupadd mysql
adduser -g mysql -d /usr/local/var mysql
※FreeBSDの場合:
pw groupadd mysql
adduser -group mysql -home /usr/local/var mysql
・コンパイルのための設定を行います
./configure --with-charset=sjis --with-extra-charsets=all --with-mysqld-user=mysql
※configureオプションの例:
./configure \
--prefix=/usr/local/mysql \         ←インストールディレクトリを指定
--with-charset=sjis \               ←デフォルトの文字コードをSJISにする
--with-extra-charsets=all \         ←その他のキャラクタコードを含める
--with-embedded-server \            ←組込サーバライブラリ(libmysqld)を作成する
--without-readline \                ←ターミナルでの日本語不具合用のオプション
--enable-local-infile \             ←LOAD DATA LOCAL INFILE文を実行可能にする
--enable-thread-safe-client \       ←スレッドセーフなクライアントライブラリを作成する
--with-mysqld-user=mysql \          ←MySQLデーモン起動のユーザー設定
--with-mysqld-ldflags=-all-static \ ←静的にリンクされたプログラムをコンパイルする
--with-client-ldflags=-all-static   ←静的にリンクされたプログラムをコンパイルする
・コンパイル&インストールを実行します
make
make install
configureでインストールディレクトリを指定しなかった場合(デフォルトだと)、
/usr/local/ディレクトリ下にプログラムやファイルが以下のようにインストールされます。
/usr/local/libexec/mysqld ←「MySQLサーバ」
/usr/local/bin/ ←「コマンド類」
/usr/local/lib/mysql/ ←「ライブラリ」
/usr/local/include/mysql/ ←「includeファイル」
/usr/local/var/ ←「データベースディレクトリ」



■インストール後の設定

・データベースを初期化して、データベースディレクトリのオーナーを先ほど作成したmysqlユーザーに変更します

/usr/local/bin/mysql_install_db --user=mysql
chown -R mysql /usr/local/var
chgrp -R mysql /usr/local/var
・MySQLをバックグラウンドで起動する
/usr/local/bin/mysqld_safe --user=mysql &
・MySQLの「root」のパスワード(例:hogehoge)を設定する
/usr/local/bin/mysqladmin -u root password hogehoge
・MySQLの普段データベースを利用するための一般ユーザー(例:ユーザー名「ageage」、パスワード「sagesage」)を作成する
/usr/local/bin/mysql -u root -p
Enter password: hogehoge

mysql> grant select,insert,delete,update,create,drop,file,alter,index on *.* to ageage identified by 'sagesage';
mysql> flush privileges;
mysql> exit
・MySQLに一般ユーザー「ageage」で接続する
/usr/local/bin/mysql -u ageage -psagesage mysql
・MySQLを停止する
/usr/local/bin/mysqladmin shutdown -u root -p



仕様確定がどんなに遅れても納期は変わらない
これを「納期不変の法則」という
by プログラマーの格言