PHPとMySQL5.6の接続
socketファイルがバラバラで、 PHPからMySQLに接続するだけなのにずいぶんハマった。
MySQLのステータス確認
mysql> mysql \s -------------- mysql Ver 14.14 Distrib 5.6.12, for debian6.0 (x86_64) using EditLine wrapper Connection id: 1 Current database: Current user: root@localhost SSL: Not in use Current pager: stdout Using outfile: '' Using delimiter: ; Server version: 5.6.12-log MySQL Community Server (GPL) Protocol version: 10 Connection: Localhost via UNIX socket Server characterset: utf8 Db characterset: utf8 Client characterset: utf8 Conn. characterset: utf8 UNIX socket: /var/run/mysqld/mysqld.sock Uptime: 14 sec Threads: 1 Questions: 5 Slow queries: 0 Opens: 67 Flush tables: 1 Open tables: 60 Queries per second avg: 0.357 --------------
MySQL設定ファイル
vi /etc/my.cnf [client] default-character-set=utf8 socket = /var/run/mysqld/mysqld.sock [mysqld] basedir = /opt/mysql/server-5.6 datadir = /data/mysql skip-character-set-client-handshake character-set-server = utf8 collation-server = utf8_general_ci init-connect = SET NAMES utf8 skip-name-resolve lower_case_table_names = 1 default-storage-engine = InnoDB socket = /var/run/mysqld/mysqld.sock general_log=1 general_log_file=/var/log/mysql/general.log log_error=/var/log/mysql/error.log pid-file=/var/log/mysql/mysql.pid slow_query_log=ON slow_query_log_file=/var/log/mysql/slow-query.log long_query_time =1 innodb_buffer_pool_size=64M innodb_log_file_size=16M innodb_flush_method=O_DIRECT query_cache_size=128M query_cache_limit=2M query_cache_min_res_unit=4k query_cache_type=1 tmp_table_size=128M max_heap_table_size=128M table_open_cache=1024 max_allowed_packet=1M sort_buffer=256K read_buffer_size=256K read_rnd_buffer_size=256K join_buffer_size=256K key_buffer_size=16M max_connections=256 thread_cache=256 wait_timeout=60 [mysqldump] default-character-set=utf8 [mysql] default-character-set=utf8
phpinfo()を確認してphp.iniを修正。
Configuration File (php.ini) Path /etc/php5/fpm Loaded Configuration File /etc/php5/fpm/php.ini pdo_mysql.default_socket /var/run/mysqld/mysqld.sock mysql.default_socket /var/run/mysqld/mysqld.sock mysqli.default_socket /var/run/mysqld/mysqld.sock
php5-fpm、再起動
/etc/init.d/php5-fpm restart