MySQL5.6がリリースされ、レンタルサーバーでも使われ始めましたね。
ただ時代は、既にMySQLからMariaDBに移行し始めているようです。
MySQLが、SUNになりSUNがOracleの傘下になったので当然の動きかもしれません。
それはさておき、私のテストサーバーでは、MySQL4.1、MySQL5.0、MySQL5.1と3つのバージョンが動いているわけですが、ここにMySQL5.6を新たにインストールでかなり苦戦したのでその備忘録です。
現在 Scientific Linux で稼働中のサーバーにソースからMySQL5.6をインストールしました。
http://dev.mysql.com/downloads/ からMySQL Community Server 、Source Code 、Generic Compressed TAR Archive をダウンロード。
インストールは、 cofigure ではなく cmake に変わっていますので cmake をまずはyumにてインストール
yum install cmake
そして、次のオプションにて cmake
# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql56 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_TCP_PORT=3310 -DMYSQL_UNIX_ADDR=/tmp/mysql56.sock -DENABLED_LOCAL_INFILE=ON -DWITH_PIC=ON -DWITH_SSL=bundled -DWITH_ZLIB=bundled -DWITH_READLINE=ON -DWITH_EXTRA_CHARSETS=all
そして、インストールまではすんなりいきました。
cnfファイルを作成
# cp /usr/local/src/mysql-5.6.11/support-files/my-default.cnf /etc/my56.cnf
この設定で以下のようなエラーが出てかなり手こずりました。
Can’t open the mysql.plugin table. Please run mysql_upgrade to create it.
Can’t find file: ‘./mysql/host.frm’ (errno: 13)
Fatal error: Can’t open and lock privilege tables: Can’t find file: ‘./mysql/host.frm’ (errno: 13)
なんとか最終的には以下を設定で動きました。
[client]
port =
socket = /tmp/mysql56.sock
user = mysql56
[mysqld]
basedir = /usr/local/mysql56
datadir = /usr/local/mysql56/data
port =
socket = /tmp/mysql56.sock
user = mysql56
skip-character-set-client-handshake
character-set-server = utf8
collation-server = utf8_general_ci
init-connect = SET NAMES utf8
skip-external-locking
その他セキュリティの関係でかけません。
そして、データベースの初期化
cripts/mysql_install_db –user=mysql56 –basedir=/usr/local/mysql56 –datadir=/usr/local/mysql56/data –defaults-file=/etc/my56.cnf
起動ファイルのコピーにて動かすことが出来ました。
もうMySQL4.1は、必要なくなりますね。