Pocket

Zabbix用サーバでのMySQL my.cnf 設定

  • add this entry to hatena bookmark

Zabbix用サーバにおける、MySQL Community Server (5.6)の設定ファイル「my.cnf」の設定を確認しました。結果を記載しておきます。

my.cnf 設定内容

/etc/my.cnf の設定内容は以下にしています。

[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
default-character-set=utf8
skip-character-set-client-handshake
innodb_file_per_table

以降に、各設定の内容について記載します。

sql_mode

使われている設定値は以下です。

  • NO_ENGINE_SUBSTITUTION
    • デフォルトのストレージエンジンの自動置換(substitution)を防ぐ設定。
  • STRICT_TRANS_TABLES
    • トランザクションのストレージエンジンに対して、Strict Mode を有効にする設定。Strict Mode は、MySQLが無効または不明な入力値をどのように処理するかを制御しますが、それを有効にするという設定です。

これらの設定は私の環境では入れておいて良さそうです。

default-character-set=utf8

MySQLのデフォルト文字コードを「UTF8」で設定する、という内容です。

この値は「character-set-server=utf8」と同意義のようです。MySQL 5.5 では、本来は「character-set-server=utf8」を使うようですが、「default-character-set=utf8」も有効になっているようです。

skip-character-set-client-handshake

クライアント側の要求に関わらずに、必ず「UTF8」で応答するという内容です。

innodb_file_per_table

この設定は、「multiple tablespace」と呼ばれる、各テーブルがテーブルスペースを持つという特徴があります。複数のテーブルを持っている場合(ほとんどのシステムがそうなると思います)に効果的らしく、ファイルI/O分散や、DBAの管理性向上が見込まれます。

※ MySQL リファレンスマニュアル 「Per-Table テーブルスペースを利用する」

以下のSQLコマンドで現状の設定値確認が出来ます。

mysql> show variables like 'innodb_file_per_table';
+-----------------------+-------+
| Variable_name | Value |
+-----------------------+-------+
| innodb_file_per_table | ON |
+-----------------------+-------+
1 row in set (0.04 sec)

mysql>

「ON」になっていれば、有効になっています。

「テーブル名.idb」というファイルが作成され管理される事になります。
ちなみに、Zabbix(2.0.5)のデータベースの場合、以下の.idbファイルがあります。

# ls -1 | grep ibd
acknowledges.ibd
actions.ibd
alerts.ibd
applications.ibd
auditlog_details.ibd
auditlog.ibd
autoreg_host.ibd
conditions.ibd
config.ibd
dchecks.ibd
dhosts.ibd
drules.ibd
dservices.ibd
escalations.ibd
events.ibd
expressions.ibd
functions.ibd
globalmacro.ibd
globalvars.ibd
graph_discovery.ibd
graphs.ibd
graphs_items.ibd
graph_theme.ibd
groups.ibd
help_items.ibd
history.ibd
history_log.ibd
history_str.ibd
history_str_sync.ibd
history_sync.ibd
history_text.ibd
history_uint.ibd
history_uint_sync.ibd
host_inventory.ibd
hostmacro.ibd
hosts_groups.ibd
hosts.ibd
hosts_templates.ibd
housekeeper.ibd
httpstep.ibd
httpstepitem.ibd
httptest.ibd
httptestitem.ibd
icon_map.ibd
icon_mapping.ibd
ids.ibd
images.ibd
interface.ibd
item_discovery.ibd
items_applications.ibd
items.ibd
maintenances_groups.ibd
maintenances_hosts.ibd
maintenances.ibd
maintenances_windows.ibd
mappings.ibd
media.ibd
media_type.ibd
node_cksum.ibd
nodes.ibd
opcommand_grp.ibd
opcommand_hst.ibd
opcommand.ibd
opconditions.ibd
operations.ibd
opgroup.ibd
opmessage_grp.ibd
opmessage.ibd
opmessage_usr.ibd
optemplate.ibd
profiles.ibd
proxy_autoreg_host.ibd
proxy_dhistory.ibd
proxy_history.ibd
regexps.ibd
rights.ibd
screens.ibd
screens_items.ibd
scripts.ibd
service_alarms.ibd
services.ibd
services_links.ibd
services_times.ibd
sessions.ibd
slideshows.ibd
slides.ibd
sysmap_element_url.ibd
sysmaps_elements.ibd
sysmaps.ibd
sysmaps_links.ibd
sysmaps_link_triggers.ibd
sysmap_url.ibd
timeperiods.ibd
trends.ibd
trends_uint.ibd
trigger_depends.ibd
trigger_discovery.ibd
triggers.ibd
user_history.ibd
users_groups.ibd
users.ibd
usrgrp.ibd
valuemaps.ibd
#

かなりの数のテーブルがあります。(103個)

課題

メモリ関連などの設定はデフォルトのままになっています。状況を見ながらチューニングしていきたいと考えています。

Pocket

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


*

チェックサイト RSS Feed読者登録はいかがでしょうか?RSS配信中です。