2013年6月6日木曜日

MySQL 5.6をrpmでインストールします

MySQL 5.6をrpmでインストールします。
現時点でremiレポジトリなどで対応していないので、rpmからインストールします。
 
http://dev.mysql.com/downloads/mysql/5.6.html#downloads 
新バージョンを確認し、便宜、以下の 5.6.12-1 の数字を合わせましょう。

ダウンロード
# wget -q http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-client-5.6.11-2.el6.x86_64.rpm/from/http://cdn.mysql.com/ \
http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-shared-compat-5.6.11-2.el6.x86_64.rpm/from/http://cdn.mysql.com/ \
http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-server-5.6.11-2.el6.x86_64.rpm/from/http://cdn.mysql.com/ \
http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-devel-5.6.11-2.el6.x86_64.rpm/from/http://cdn.mysql.com/ \
http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-shared-5.6.11-2.el6.x86_64.rpm/from/http://cdn.mysql.com/ \
インストール
# yum install MySQL-{client,devel,server,shared-compat}-5.6.11-2.el6.x86_64.rpm
# yum install MySQL-shared-5.6.11-2.el6.x86_64.rpm
yumログ確認
# tail /var/log/yum.log
MySQLスタート
# /etc/init.d/mysql start
MySQLログ確認
# cat /var/log/mysqld.log    
root初期パスワード確認
*****のところがパスワードです
# cat /root/.mysql_secret
# The random password set for the root user at Thu Jun  6 14:23:31 2013 (local time): *****
MySQLにログイン
# mysql -uroot -p******
パスワード設定
mysql> SET PASSWORD FOR root@localhost=PASSWORD('******');
mysql_secure_installationを実行
# mysql_secure_installation

# rootパスワードを入力
Enter current password for root (enter for none):

# rootユーザーのパスワードを変更するか?
Change the root password? [Y/n] n

# 匿名ユーザーを削除するか?
Remove anonymous users? [Y/n] Y

# rootユーザーでリモートからのログインを許可するか?
Disallow root login remotely? [Y/n] Y or N

# 「test」データベースを削除するか?
Remove test database and access to it? [Y/n] Y

# 権限テーブルをリロードするか?
Reload privilege tables now? [Y/n] Y

my.cnf設定
・/usr/my.cnfが優先されるので、5.5以前の慣習のため、/etc/にリンクを貼っておく
・innodb_buffer_pool_size = 1G この値は使用可能メモリの60%を推奨
・クエリを確認したいときには、general_logを有効にしてください(SET GLOBAL general_log = ON or OFF;でも可)

# rm /etc/my.cnf
# ln -s /usr/my.cnf /etc/
# vi /usr/my.cnf

[mysqld]
datadir                 = /var/lib/mysql
socket                  = /var/lib/mysql/mysql.sock
character-set-server    = utf8
skip-character-set-client-handshake

log-error               = /var/lib/mysql/mysqld-error.log
#general_log             = 1
#general_log_file        = /var/lib/mysql/mysql.log
slow_query_log          = 1
slow_query_log_file     = /var/lib/mysql/slow.log 
long_query_time = 5

log-bin                 = mysql-bin
binlog_format           = mixed
expire_logs_days        = 1
server-id               = 101
max_allowed_packet      = 8M
table_open_cache        = 256
max_connections         = 1024
innodb_file_per_table
innodb_flush_log_at_trx_commit = 0
innodb_flush_method     = O_DIRECT
innodb_buffer_pool_size = 1G
innodb_log_file_size    = 128M
innodb_log_buffer_size  = 8M
query_cache_type        = 1
query_cache_size        = 64M
key_buffer_size         = 32M
sort_buffer_size        = 1M
read_buffer_size        = 1M
read_rnd_buffer_size    = 4M

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

[mysqld_safe]
log-error               = /var/lib/mysql/mysqld_safe-error.log
pid-file                = /var/run/mysqld/mysqld.pid
character-set-server    = utf8
log_fileを削除して、MySQLをスタート
# /etc/init.d/mysql stop
# rm /var/lib/mysql/ib_logfile0
# rm /var/lib/mysql/ib_logfile1
# /etc/init.d/mysql start
MySQLログ確認
# cat /var/lib/mysql/mysqld_safe-error.log

こちらのblogを参考にさせて頂きました。
有難うございます。
http://d.hatena.ne.jp/akishin999/20130207/1360241401

PHP5.4もインストールするときは、こちらのblogが参考になります。
http://blog.youyo.info/blog/2013/02/12/server-build-log/