簡単インストールコマンドのリスト
MySQLをソースからインストールする際に必要となる、基本的なコマンドを紹介します。
groupadd mysql
useradd -g mysql mysql
gunzip < mysql-VERSION.tar.gz | tar -xvf -
cd mysql-VERSION
./configure --prefix=/usr/local/mysql
make
make install
scripts/mysql_install_db
chown -R root /usr/local/mysql
chown -R mysql /usr/local/mysql/var
chgrp -R mysql /usr/local/mysql
cp support-files/my-medium.cnf /etc/my.cnf
/usr/local/mysql/bin/safe_mysqld --user=mysql &
インストール手順
MySQL用のユーザとグループの作成
mysqldデーモンを実行させるためのユーザとグループを作成します。groupaddコマンドは指定した名称のグループを作成し、useraddコマンドは指定した名称のユーザを作成します。-gオプションで作成するユーザのグループを指定することができます。
groupadd mygroup
useradd -g mygroup mysql
システムによっては、useraddの代わりにadduserコマンドが用意されていることがあります。使い方は同じです。
ダウンロードファイルの解凍
MySQL ABのダウンロードページ(http://dev.mysql.com/downloads/)から、ソースファイルのリンクをクリックします。Linuxのソースファイルであれば、Linux (non RPM packages)がダウンロードのリンクです。無償のMySQLをインストールする場合はMySQL Community Server、有償の場合はMySQL Enterpriseを選択します。
ダウンロードしたファイルを作業ディレクトリに移動させます。
mv mysql-VERSION.tar.gz /usr/src/
ファイルを解凍させます。
gunzip < mysql-VERSION.tar.gz | tar xvf -
...mysql-VERSIONディレクトリが作成される
解凍されたディレクトリに移動します。
cd mysql-VERSION
configureコマンドでコンパイル
インストール時に文字セットを指定する場合は、configureコマンドの --with-charset オプションで文字セットを指定します。たとえば文字セットとしてUTF-8を指定するには、下記のようにconfigureコマンドにオプションを与えます。
./configure --with-charset=utf8
configureの実行時、文字セットの指定以外にいくつかのオプションも指定できます。
./configure --with-charset=ujis \
--prefix=/usr/local \
--localstatedir=/sql/data
コンパイルが失敗する場合は「コンパイル時の問題」を参照。
configure後はmakeでインストールします。インストール作業はrootで行ってください。
make
make install
MySQL特権テーブルを生成
MySQLを初めてインストールしたサーバであれば、インストール完了後にMySQL特権テーブルを生成します。
./scripts/mysql_install_db
mysql_install_dbスクリプトはmysqlデータベースにuser、db、host、tables_priv、columns_privテーブルを作成します。これらの特権はrootユーザーにMySQLの管理者権限を許可し、そして、だれもがtestという名前のデータベースを作成、使用できるように許可されています。
※rootのパスワードの初期値は空です。この状態はセキュリティ的に危険で、全てのユーザがパスワードなしでrootになれることを意味します。
データディレクトリ以下のファイルの所有者をmysqlに、それ以外のファイルの所有者をrootにする手順は以下のとおりです。
chown -R root /usr/local/mysql
chown -R mysql /usr/local/mysql/data
次に必要に応じて下記の操作を行う
- Perl DBI/DBDインタフェースのサポートをインストールする場合は、 「PerlDBI/DBDインターフェイス」を参照のこと。
- MySQLをマシン起動時に自動的に開始したい場合、support-files/mysql.server をシステムのスタートアップファイルがある場所にコピーする。詳しくは「自動起動と停止」を参照。
全てがインストールされた後、配布の初期化とテストを行なうべきです。
/usr/local/mysql/bin/safe_mysqld
--user=mysql &
MySQLサーバーを開始
サーバを起動と同時にMySQlを自動起動したい場合は、support-files/mysql.serverをシステムの起動ファイルがあるディレクトリに設置します。
全てがインストールされた後、実行テストを行ないます。MySQLを起動するには、以下のコマンドを使用します。
mysqld_safe --user=ユーザ名 &
インストールオプション
configureスクリプトには、MySQLをコンフィグする際のオプションが多数用意されています。通常は、 configureコマンドラインにオプションを使用して行います。いくつかの環境変数を使用してもconfigureに影響を与えることができます。
configure がサポートするオプションの一覧は、次のコマンドを実行:
./configure --help
コンパイルオプション
1) クライアントだけをコンパイル
./configure --without-server
2) ベンチマークツールをインストールしない
./configure --without-bench
3) ドキュメントをインストールしない
./configure --without-docs
4) ログファイルとデータベースディレクトリを指定する
インストール先ディレクトリの変更:mysqlプログラムを /usr/local/mysql 配下にインストールします。
./configure --prefix=/usr/local/mysql
データベースディレクトリの変更:データベースディレクトリを /usr/local/mysql/data に変更します。
./configure --localstatedir=/usr/local/mysql/data
5) ソケットの位置の変更
ソケットをデフォルト位置(通常は /tmp または /var/run)でなく他のディレクトリに変更します。
./configure --with-unix-socket-path=/path/to/socket/dir
※ /path/to/socket/dir は絶対パス名でないといけません。
6) 静的リンクされたプログラムをコンパイル
./configure --with-client-ldflags=-all-static
\
--with-mysqld-ldflags=-all-static
7) 非NULL項目にデフォルトの項目値を使用しない
非 NULL 値を要求する全ての項目に値を明示的に指定しなければ、INSERT構文はエラーを生成します。デフォルト値の使用を抑えるには、次のようにconfigureを実行しましょう。
CXXFLAGS=-DDONT_USE_DEFAULT_FIELDS
./configure
8) 文字セットの変更
./configure --with-charset=CHARSET
※ 文字セットを変更したい場合は、コンフィグレーション間で make distclean を行なう必要があります。
※ テーブルを生成した後に文字セットを変更する場合、isamchk -r -q を全てのテーブルに実行する必要があります。そうでないと、インデックスは正しくソートされません。
パッチの適用
MySQLのパッチは以下の場所に公開されています。
FTP サイトに配布されるパッチはテキストか gzip 圧縮されたファイルです。
テキストの場合は、上に示したメーリングリストからのパッチと同じにします。 圧縮されたパッチを適用するには、 MySQLソースツリーのトップレベルに移動し、以下のコマンドを実行します。
> gunzip < patch-file-name.gz | patch
-p1
> rm config.cache
> make clean
それから通常のソースインストールの指示をconfigureから始めます。現在実行しているMySQLをシャットダウンし、make install実行後、MySQLサーバを再起動します。
メーリングリストのパッチを適用するには、そのメッセージをファイルに保存した後、MySQLソースツリーに移動して、以下のコマンドを実行します。
> patch -p1 < patch-file-name
> rm config.cache
> make clean