06 « 1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.» 08

MySQL設定メモ 

・MySQL関連のログは管理しやすいように /var/log/mysql 以下へ出力する。
mkdir /var/log/mysql
chown mysql:mysql /var/log/mysql


---( /etc/my.cnf)---------------------------
[mysqld]
# 実行ユーザ
user=mysql

# データディレクトリ
datadir=/var/lib/mysql

# テンポラリディレクトリ RAMDiskなど高速なディスクを指定すると効果的
tmpdir=/tmp

# ポート番号
port=3306

# UNIXドメインソケット
socket=/var/lib/mysql/mysql.sock

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

# サーバ側が使用するデフォルトの文字コード
character-set-server=utf8

# クライアント側の文字コードの設定を無視する
skip-character-set-client-handshake

# 最大接続数 増やす場合は「open_files_limit」も合わせて増やす
max_connections=151

# オープンテーブルのキャッシュ
# 「max_connections」× 1つのトランザクションで使用するテーブル数の平均値
table_open_cache=400

# 定義キャッシュに保存できるテーブル定義数 テーブル数が多い場合は増やす
table_definition_cache=400

# 同時にopenできるファイル数
open_files_limit=1024

# テーブルスキャンを実行するときに、各テーブルに割当てられるバッファサイズ
read_buffer_size=128K

# インデックスを利用してソートを行う際、このバッファを通して読込まれる
read_rnd_buffer_size=256K

# インデックスを利用せずにテーブルのJOINを行う際に割当てられるバッファサイズ
join_buffer_size=128K

# ファイルソートで利用するメモリのバッファサイズ
sort_buffer_size=1024K

# インメモリ型のテンポラリテーブルの最大サイズ この値を増やす場合は「max_heap_table_size」も合わせて増やす
tmp_table_size=16M

# インメモリ型テーブルの最大メモリサイズを設定
max_heap_table_size=16M

# クエリキャッシュサイズ
query_cache_size=0

# クエリキャッシュの動作の指定
query_cache_type=0

# ログの出力先
log_output=FILE

# スロークエリログの有効化
slow_query_log=1

# 何秒以上かかったクエリをスロークエリログへ記録するかを指定
long_query_time=1.0

# スロークエリログファイルの指定
slow_query_log_file=/var/log/mysql/slow_query.log

# クエリログの有効化
general_log=0

# クエリログファイルの指定
general_log_file=/var/log/mysql/query.log

# デフォルトのストレージエンジンの指定
default_storage_engine=InnoDB

# 保存するファイル名の変換モードの設定 InnoDBを使用する場合は1を設定
lower_case_table_names=1

# OSが利用するメモリなどを除いた利用可能なメモリの70~80%を指定
# 例)搭載メモリ512MB - 100MB = 412MB×0.8 = 330MB
innodb_buffer_pool_size=256M

# ログファイル数の指定 基本的にデフォルトの2個で問題ない
innodb_log_files_in_group=2

# ログファイルサイズの指定
#「innodb_log_file_size」×「innodb_log_files_in_group」<「innodb_buffer_pool_size」になるように設定
innodb_log_file_size=64M

# ログファイルを書き込む前に一時的にデータを溜め込んでおくためのバッファザイズ
innodb_log_buffer_size=8M

# InnnoDBのデータファイル名とサイズの指定
innodb_data_file_path=ibdata1:256M:autoextend

# データファイルが自動拡張するときに拡張するサイズ ※単位がMBなので注意
innodb_autoextend_increment=256

# テーブル毎にデータファイルを作成する
innodb_file_per_table=1

# トランザクションのコミット時に、InnoDBログファイルへデータがディスクへ同期するかどうかの指定
innodb_flush_log_at_trx_commit=1

# ファイルシステムキャッシュへのバッファリングを防ぐ
innodb_flush_method=O_DIRECT

# バイナリログを有効にし、バイナリログファイル名を指定
log-bin=mysql-bin

# バイナリログをN回のステートメントまたはトランザクションごとにフラッシュする設定
sync_binlog=1

# バイナリログのフォーマットの指定
binlog-format=MIXED

# バイナリログの最大サイズの指定
max_binlog_size=128M

# バイナリログを保存しておく日数
expire_logs_days=15

# 各MySQLサーバを識別するためのIDの設定
server-id=1

# マスター用の準同期レプリケーション設定
#plugin-load=rpl_semi_sync_master=semisync_master.so
#rpl_semi_sync_master_enabled=1
#rpl_semi_sync_master_timeout=10

# スレーブ用の準同期レプリケーション設定
#plugin-load=rpl_semi_sync_slave=semisync_slave.so
#rpl_semi_sync_slave_enabled=1
#read_only

[mysql]
# 接続に利用する文字コードの指定
default-character-set=utf8

# 警告が発生すると自動的に SHOW WARNING コマンドを実行する
show-warnings

# 自動補完機能を有効化
auto-rehash

[mysqld_safe]
# エラーログファイルの指定
log_error=/var/log/mysql/mysqld.log

# PIDファイルの指定
pid_file=/var/run/mysqld/mysqld.pid
---( /etc/my.cnf ここまで)---------------------------

・smallマシン(メモリ512MB)用のコンフィグまとめ
my.cnf
スポンサーサイト



Posted on 2012/07/18 Wed. 00:36 [edit]

category: サーバ

thread: Linux  -  janre: コンピュータ

TB: 0    CM: 0

18