HomeMySQL

MySQLの設定・パフォーマンス向上についての情報を掲載しています。

my.confを設定

MySQLの設定は、

/etc/my.cnf

で、行います。
MySQLのデフォルトのストレージエンジンはMyISAMですが
MyISAMはトランザクション制御ができません。

トランザクション制御のできるInnoDBの方が
実際の開発現場では多く用いられていると思います。

基本的な設定

基本的な設定については、以下のようなものがあります。

####### 基本的な設定 ####### user = mysql
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
pid-file = /var/run/mysqld/mysqld.pid
port = 3306
language = /usr/share/mysql/english
socket = /var/run/mysqld/mysqld.sock
skip-external-locking

# サーバ側で用いる文字コードの設定。UTF8を指定する場合
default-character-set = utf8

# クライアント/サーバ側での文字コード変換を行わない設定の記述
skip-character-set-client-handshake

パフォーマンスに影響するであろう設定

# クライアント/サーバがやり取りできるパケットサイズを指定。
# 巨大なデータをやり取りする場合は指定した方がよい。
max_allowed_packet = 16M

# 最大同時接続数。小さいシステムなら多くしない方がよい。
# メモリ搭載量によるが、MAX300程度が目安。
max_connections = 100

####### slow log関連 #######
# 以下で指定する秒(sec)以上かかったクエリは、log_slow_queriesで指定するログファイルに出力
# 以下の設定の場合は3秒
long_query_time = 3

# slow log出力先の設定
log_slow_queries = /var/log/mysql/mysql-slow.log
####### slow log関連 ここまで #######

####### スレッド関連 #######
# 同時に実行できるスレッド数。CPUのコア数の2倍を設定する。
thread_concurrency = 2

# スレッドのスタック領域のサイズ
thread_stack = 256K

# 生成されたコネクション用のスレッドをキャッシュしておく数
thread_cache_size = 16

####### スレッド関連ここまで #######
####### MyISAM関連 #######
# MyISAMで使用するINDEXのキャッシュサイズ
key_buffer = 64M

# MyISAMで一度開いたテーブルをキャッシュしておく数
table_cache = 128
####### MyISAM関連 ここまで #######

ほか、細かな設定

# CREATE TABLEを行う際に ENGINE=InnoDB の指定をしなくてもInnoDBにする。
# MySQLのデフォルトのストレージエンジンはMyISAM
default-table-type = InnoDB

設定状況を確認

コマンドラインからの入力で確認を

statusコマンドなどで、コマンドラインからの入力でも、設定が反映されているかどうか確認できます。

ページトップへ

トピックアップ メニュー

トピックアップ リンク

Copyright (C) トピックアップ All Rights Reserved.
inserted by FC2 system