メイン

2008年07月12日

MySQLのインストール

このサーバで提供している掲示板を新しくするために、MySQLを使うことにした。
インストール作業は以下の通り。
  1. /usr/ports/databases/mysql51-client/tt>にて、make WITH_CHARSET=eucjpms WITH_XCHARSET=all installを実行。
  2. /usr/ports/databases/mysql51-serverにて、make WITH_CHARSET=eucjpms WITH_XCHARSET=all installを実行。
  3. PHPからMySQLを使うので、/usr/ports/databases/php5-mysqlにて、make installを実行。
  4. /usr/local/share/mysqlに設定ファイルのサンプルがある。このサーバはメモリを4G積んでおり、半分程度はmysqlが占有してかまわないので、my-huge.cnfを使った。
    cp my-large.cnf /etc/my.cnfとコピーして、以下のように編集した。
    • thread_concurrency = 2:CPUの数x2
    • skip-networking:他の計算機からMySQLサーバを操作しないため。
    • InnoDBを使う予定なので、# Uncomment the following if you are using InnoDB tables 以下を次のように変更した。
      # Uncomment the following if you are using InnoDB tables
      innodb_data_home_dir = /var/db/mysql/
      innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend
      innodb_log_group_home_dir = /var/db/mysql/
      #innodb_log_arch_dir = /var/db/mysql/
      # You can set .._buffer_pool_size up to 50 - 80 %
      # of RAM but beware of setting memory usage too high
      #innodb_buffer_pool_size = 384M
      innodb_buffer_pool_size = 1024M
      innodb_additional_mem_pool_size = 20M
      # Set .._log_file_size to 25 % of buffer pool size
      innodb_log_file_size = 256M
      innodb_log_buffer_size = 8M
      innodb_flush_log_at_trx_commit = 1
      innodb_lock_wait_timeout = 50
      
なお、文字コードはEUCである。本来ならeucjpといったオプションがあるべきだが、MySQLにはeucjpms (EUC-JPのMS拡張?) しかない。SHIFT-JISならばsjis, UTF-8ならばutf8makeeucjpmsの代わりに設定すれば良い。

続きを読む "MySQLのインストール" »