CentOS 6 に MySQL5.6 を yum でインストールする方法を紹介します。
■ MySQL5.6インストール (MySQL Community版)
yum で rpmパッケージをインストールするには標準のリポジトリでなく mysql-community を使います。
mysql-community リポジトリをまだ入れていない場合は入れておきます。
# yum -y install http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
※もしMySQL5.5をインストールしたい場合はリポジトリを切り替えます。
/etc/yum.repos.d/mysql-community.repo
[mysql55-community] name=MySQL 5.5 Community Server baseurl=http://repo.mysql.com/yum/mysql-5.5-community/el/6/$basearch/ enabled=1 <こっちを 1 に . . [mysql56-community] name=MySQL 5.6 Community Server baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/6/$basearch/ enabled=0 <こっちを 0 に . .
(1) インストール
# yum install mysql mysql-devel mysql-server mysql-utilities
(2) ファイル構成
/usr/bin/mysql* ... プログラム諸々 /etc/my.cnf ... 設定ファイル /usr/share/mysql ... 設定ファイルの雛形など /var/lib/mysql ... データベースが配置される /var/lib/mysql/mysql.sock ... ソケットファイル /var/log/mysqld.log ... ログ /var/lock/subsys/mysqld ... 実行中のロックファイル /var/run/mysqld/mysqld.pid ... 実行中のPIDファイル /etc/init.d/mysqld ... サービス起動シェル
この中で重要なのは設定ファイルの /etc/my.cnf くらい。
あとは変更しないので気にしなくてよい。
(3) 設定
/etc/my.cnf
[mysqld] . . character-set-server = utf8 max_connections=200 thread_cache_size=20 table_open_cache=1024 key_buffer_size=32M query_cache_size=32M tmp_table_size=64M max_heap_table_size=64M innodb_buffer_pool_size=256M innodb_log_file_size=64M innodb_file_per_table innodb_thread_concurrency=8 max_allowed_packet=16M wait_timeout=30 [client] default-character-set = utf8
自動起動設定
# chkconfig mysqld on # chkconfig --list mysqld
MySQLを起動
起動 # /etc/rc.d/init.d/mysqld start 再起動 # /etc/rc.d/init.d/mysqld restart
(4) 運用中のMySQLの設定ファイルを変更したときの注意
/etc/my.cnf で
innodb_buffer_pool_size
innodb_log_file_size
あたりを変更したときは、
MySQLを停止 #/etc/rc.d/init.d/mysqld stop トランザクションログファイルを削除して # rm -rf /var/lib/mysql/ib_logfile0 # rm -rf /var/lib/mysql/ib_logfile1 # ls -l /var/lib/mysql MySQLを起動 # /etc/rc.d/init.d/mysqld start
(5) PHP5.4(remi) PHP5.5以上(IUS) と連携時の注意
※MySQL5.6 は、php-mysql でなく php-mysqlnd でないとだめ
PHP5.4(remiリポジトリ) を使用する場合
php-mysqlnd
PHP5.5(IUSリポジトリ) を使用する場合
php55u-mysqlnd
PHP5.6(IUSリポジトリ) を使用する場合
php56u-mysqlnd