linuxでMySQL5.6.19のソースパッケージのインストール、設定

1.RPMインストールパッケージのアンインストール
1.1 mysqlをインストールしたかどうか確認
[root@localhost ~]# rpm -qa | grep mysql
mysql-devel-5.1.73-3.el6_5.x86_64
php-mysql-5.3.3-27.el6_5.x86_64
mysql-5.1.73-3.el6_5.x86_64
mysql-libs-5.1.73-3.el6_5.x86_64
mysql-server-5.1.73-3.el6_5.x86_64
1.2 rpm -e アンインストール(–nodeps)
32ビットの場合
[root@localhost ~]# rpm -e mysql-devel
[root@localhost ~]# rpm -e php-mysql
[root@localhost ~]# rpm -e mysql
[root@localhost ~]# rpm -e mysql mysql-server

64ビットの場合
{root@localhost Server]# rpm -e mysql –allmatches –nodeps

1.2 my.cnfを削除
[root@localhost ~]# rm -rf /etc/my.cnf

 
2.MySQLのインストール
2.1 cmakeをインストール
[root@localhost ~]# tar xvf cmake-3.0.0.tar.gz
[root@localhost ~]# cd cmake-3.0.0
[root@localhost cmake-3.0.0]# ./configure
— Looking for elf.h
— Looking for elf.h – found
— Looking for a Fortran compiler
— Looking for a Fortran compiler – NOTFOUND
— Performing Test run_pic_test
— Performing Test run_pic_test – Success
— Configuring done
— Generating done
— Build files have been written to: /root/cmake-3.0.0
———————————————
CMake has bootstrapped. Now run gmake.

[root@localhost cmake-3.0.0]# make && make install
2.2 MySQLインストールディレクトリやデータ格納ディレクトリを作成
[root@localhost ~]# mkdir -p /opt/mysql //mysqlをインストール
[root@localhost ~]# mkdir -p /opt/mysql/data //データを格納

2.3 MySQLのユーザーとユーザーグループを作成する
[root@localhost ~]# groupadd mysql
[root@localhost ~]# useradd -r -g mysql mysql

2.4 データ格納ディレクトリのパーミッションを設定
chown mysql:mysql -R /opt/mysql/data

2.5 MySQLをコンパイルしてインストールする
[root@localhost ~]# tar xvf mysql-5.6.19.tar.gz
[root@localhost ~]# cd mysql-5.6.19
[root@localhost ~]# cmake -DCMAKE_INSTALL_PREFIX=/opt/mysql \
-DSYSCONFDIR=/opt/mysql/etc \
-DMYSQL_DATADIR=/opt/mysql/data \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_SSL=bundled \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci

パラメータ説明:
CMAKE_INSTALL_PREFIX : MySQLのインストールディレクトリ
SYSCONFDIR : 設定ファイルディレクトリ
MYSQL_DATADIR :データベースディレクトリ
MYSQL_TCP_PORT :データベースポート
MYSQL_UNIX_ADDR :ログ格納、date格納ディレクトリ
WITH_EXTRA_CHARSETS : 文字列
WITH_SSL :the type of SSL
WITH_EMBEDDED_SERVER :Whether to build embedded server (ディフォルト:OFF)
ENABLED_LOCAL_INFILE :Whether to enable LOCAL for LOAD DATA INFILE(ディフォルト:OFF) ローカルからデータをインポート
WITH_INNOBASE_STORAGE_ENGINE: 1
詳細内容:http://dev.mysql.com/doc/refman/5.6/en/source-configuration-options.html

2.6.コンパイルするときに次のエラーが出る場合
— Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)
CMake Error at cmake/readline.cmake:85 (MESSAGE):
Curses library not found. Please install appropriate package,
remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel.
Call Stack (most recent call first):
cmake/readline.cmake:128 (FIND_CURSES)
cmake/readline.cmake:202 (MYSQL_USE_BUNDLED_EDITLINE)
CMakeLists.txt:417 (MYSQL_CHECK_EDITLINE)

対策:
CD-ROMをマウントして ncurses-develをインストール
[root@localhost Server]# rpm -ivh ncurses-devel-5.5-24.20060715.x86_64.rpm
warning: ncurses-devel-5.5-24.20060715.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing… ########################################### [100%]
1:ncurses-devel ########################################### [100%]
[root@localhost Server]#

CMakeCache.txtを削除して再コンパイル:
[root@localhost]# rm -rf CMakeCache.txt
[root@localhost]# make && make install

2.7 MySQLを初期化する
[root@localhost mysql]# cd /opt/mysql
[root@localhost mysql]# mkdir etc
[root@localhost mysql]# mkdir log
[root@localhost mysql]# chown -R mysql .
[root@localhost mysql]# chgrp -R mysql .
[root@localhost mysql]# scripts/mysql_install_db –user=mysql –basedir=/opt/mysql/ –datadir=/opt/mysql/data/
[root@localhost mysql]# chown -R root .
[root@localhost mysql]# chown -R mysql data
[root@localhost mysql]# bin/mysqld_safe –user=mysql &

2.8 データベースを設定
2.8.1パスワードを修正:
[root@localhost mysql]# bin/mysqladmin -u root password ‘mysql’
[root@localhost mysql]# cp support-files/mysqld /etc/init.d/mysqld
[root@localhost mysql]# cp support-files/my-default.cnf etc/my.cnf
2.8.2 my.cnfを編集
vim /etc/my.cnf
「mysqld」下に「lower_case_table_names=1」を追加
2.8.3 環境変数を設定
[root@localhost etc]# cd /etc
[root@localhost etc]# vi profile
ファイルの最後に次の内容を追加
PATH=/opt/mysql/bin:/opt/mysql/lib:$PATH
export PATH

2.9 MySQL自動起動を設定
[root@localhost mysql]# chkconfig –level 35 mysqld on
[root@localhost mysql]# chkconfig | grep mysql
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off