Mysql-5.5系のインストール

Mysql-5.5系をソースからインストールする方法の紹介です。 Mysqlインストールしようとしたとき、「configure」ファイルがなかったので、少し焦りました。調べてみると、「cmake」が必要になります。インストールしていない場合は、「cmake」をインストールしてください。


1. 「cmake」の確認とインストール
[root@localhost ~]# rpm -qa | grep cmake
(↓結果)
cmake-2.8.2-3.fc14.x86_64

インストールさせていない場合は、「yum」でインストール
[root@localhost ~]# yum install cmake

1-2. 「ncurses」のインストール
[root@localhost ~]# yum install ncurses ncurses-devel

2. mysqlユーザーの作成
[root@localhost ~]# groupadd mysql
[root@localhost ~]# useradd mysql -g mysql -M -s /sbin/nologin
↓uid gidを指定して作成する場合
[root@localhost ~]# groupadd mysql -g 27
[root@localhost ~]# useradd mysql -u 27 -g 27 -M -s /sbin/nologin
uidを指定しないでユーザーを作成したとき、ログイン時に「mysql」ユーザーが表示される場合があります。もし、気になる方は、uidを指定してユーザーの作成をしてください

3. mysql本体のインストール
 cmakeでのインストール作業は、「configure」の時とコンパイルの引数が違うので注意してください。

[root@localhost src]# tar zxvf mysql-5.5.10.tar.gz
[root@localhost src]# cd mysql-5.5.10
[root@localhost mysql-5.5.10]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DWITH_PIC=1

//eucでインストールする場合
[root@localhost mysql-5.5.10]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=ujis -DDEFAULT_COLLATION=ujis_japanese_ci -DWITH_EXTRA_CHARSETS=all -DWITH_PIC=1

[root@localhost mysql-5.5.10]# make
[root@localhost mysql-5.5.10]# make install

(メモ)
 MySQLのconfigure時に--with-picを指定するとgccに”-fPIC”フラグが渡されてMySQLの静的ライブラリが再配置可能になり、他の共有オブジェクトへのリンクが可能となります。

3. mysql設定
[root@localhost mysql]# cd /usr/local/mysql/
[root@localhost mysql]# chown -R mysql:mysql /usr/local/mysql
[root@localhost mysql]# chmod -R 777 /usr/local/mysql/data

データベースの初期化
 mysqlインストールしたフォルダ内で「mysql_install_db」を実行する
[root@localhost mysql]# /usr/local/mysql/
[root@localhost mysql]# ./scripts/mysql_install_db

(注意) 
my.cnfファイルを先に作成するとエラーになるときがあります。
mysqlをインストールしたフォルダーで実行しなと下記のエラーになります。
FATAL ERROR: Could not find ./bin/my_print_defaults

起動ファイルの作成
[root@localhost mysql]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

mysqlの起動とログイン
[root@localhost mysql]# /etc/init.d/mysqld start
[root@localhost mysql]# /usr/local/mysql/bin/mysql -u root -p

4. mysqlの初期起動設定
[root@localhost mysql]# chkconfig mysqld on
[root@localhost mysql]# chkconfig --list | grep mysqld
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off

(過去の作業)
 mysqlを「configure」でインストールするときは、「mysqlのインストールと初期設定(OS:CentOS 64bitにて)」に記載しているので、こちらを参考にしてください。

(参考サイト)
http://d.hatena.ne.jp/masudaK/20110224/1298548611
http://www.terut.net/?p=364

(失敗談
 以下のような「cmake」文でコンパイルしたとき、
[root@localhost mysql-5.5.10]# cmake . -DDEFAULT_CHARSET=utf8 -DCMAKE_INSTALL_PREFIX=/usr/local/mysql

mysqlをエラー起動時に以下のようなエラーが出ました。
Starting MySQL. ERROR! The server quit without updating PID file (/usr/local/mysql/data/localhost.localdomain.pid)

mysqlの起動時のログを見ると、文字コードの設定に問題があったので上記のようにコンパイルしなをしました。(↓ログファイル)
[root@localhost mysql]# tail -n 50 /usr/local/mysql/data/localhost.localdomain.pid

(失敗談 その2)
 mysqlを起動するときに下記のエラーが起きました。対策として、my.cnfファイルの変更で対応しました。
Starting MySQL.The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid).

[root@localhost mysql]# vi /etc/my.cnf
#datadir=/var/lib/mysql
#socket=/var/lib/mysql/mysql.sock

datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock

カテゴリー: mysql, サーバー タグ: , , パーマリンク

コメントを残す