日々様々なトラブルにハマっている、困ったシステム管理者の奮闘日記です。

InnoDBの調整

テストではなく、正規に利用するMySQLの調整のため、my.ini(Linuxではmy.cnf)を少しいじってみたのでメモ。
以下、Windows版のMySQLで話を進める。

my.iniの場所

MySQLをインストールした直下のフォルダ(私の環境の場合、E:\Program Files\MySQL\MySQL Server 5.0 直下)にある。

my.iniの設定箇所

通常とは変えた箇所は以下の通り。

:
[mysql]
default-character-set=cp932  ----- (1)
:
[mysqld]
skip-character-set-client-handshake ---- (2)
:
# The default character set that will be used when a new schema or table is
# created and no character set is defined
default-character-set=cp932 ---- (3)
:
#Path to the database root
#datadir="E:/Program Files/MySQL/MySQL Server 5.0/Data/"
datadir="F:/MySQL Datafiles/" ---- (4)
:
#*** INNODB Specific options ***
innodb_data_home_dir="F:/MySQL Datafiles/" ---- (5)
innodb_data_file_path=ibdata1:200M;ibdata2:200M;ibdata3:200M:autoextend:max:2000M ---- (6)
innodb_log_group_home_dir="F:/MySQL Datafiles/ilog/" ---- (7)
innodb_log_file_size=50M ---- (8)
log-bin="F:/MySQL Datafiles/blog/binary" ---- (9)
:
[mysqldump]
default-character-set=cp932 ---- (10)

(1). MySQLクライアントのデフォルトキャラクタセットの指定
Windows版なので、「CP932」に設定。

(2). skip-character-set-client-handshake
インポート時の文字化け回避対応
くわしくは、こちら

(3). MySQLデーモンのデフォルトキャラクタセットの指定
こちらもWindows版なので、「CP932」に設定。

(4). データファイルの位置の指定
既定では、インストールフォルダの「Data」フォルダ直下に配置される。データファイルは別ディスクボリュームにしておきたいので、設定変更。

(5). innodb_data_home_dir
InnoDBのデータファイルを配置するフォルダを指定。
とりあえず、(4)と同じ位置に設定。

(6). innodb_data_file_path
InnoDBデータファイル(テーブル,インデックス,データディクショナリ,ロールバックセグメント、など)のファイル名,大きさ、増分などを指定。
例では、ibdata1, ibdata2, ibdata3の3つのファイルをそれぞれ200MBで作成し、容量が不足した場合、2000MBまで自動拡張するように指定。

(7). innodb_log_group_home_dir
InnoDBログファイルの作成場所を指定。
例では、F:\MySQL Datafiles\ilog フォルダ直下に、ib_logfile0, ib_logfile1、...と2つ以上の(OracleでいうところのREDOログ)ファイルが作成される。

(8). innodb_log_file_size
上記各ログファイルのサイズを指定。

(9). log-bin
「バイナリログ」と呼ばれる更新ログファイルの作成場所と、その名称を指定。
例では、F:\MySQL Datafiles\blog フォルダに、「binary.nnnn」(nnnnは連番)および、「binary.index」という名称のファイルが作成される。
バイナリログファイルの中身は、発行されたSQL文を蓄積したもの。ただし単純なテキスト形式ではない。
このバイナリログファイルと、直前に実行した全体バックアップを利用して、ロールフォアードのリカバリを実現できる。
バイナリログファイルは、全体バックアップを取った後、明示的に削除しない限り永続的に作成される。

(10). mysqldumpのデフォルトキャラクタセット指定
mysqldumpを利用したインポート/エクスポート時の文字化けを回避するために指定。
mysqldumpを実行する際には「–default-character-set」オプションをつけるのが無難。

とりあえず、これで運用してみる。
問題があればまた報告。


You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

AddThis Social Bookmark Button

Leave a Reply