>> 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 プログラマーの格言