InfiniDBにはInfiniDB独自のパラメーター(以下、InfiniDBパラメーター)と、ベースとなるMySQLのパラメーター(以下、MySQLパラメーター)があります。
どちらのパラメーターも基本的に変更する必要はありませんが、何らかのエラーが発生した場合にはパラメーターを変更して対処することがあります。
本記事ではInfiniDBパラメーター、MySQLパラメーターそれぞれについて以下の内容を紹介します。
・InfiniDBパラメーターの確認方法
・InfiniDBパラメーターの変更方法
・MySQLパラメーターの確認方法
・MySQLパラメーターの変更方法
InfiniDBパラメーターの確認方法
InfiniDBパラメーターを確認する方法は2通りあります。1.InfiniDBパラメーターファイル(XML形式)で確認
以下のように各InfiniDBパラメーターは、あるセクションに含まれています。
例えば、「IDB-2008: The version buffer overflowed.エラーの対処方法」の記事のVersionBufferFileSizeパラメーターはVersionBufferセクションに含まれています。
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 |
※InfiniDBパラメーターファイル名 # ls -l /usr/local/Calpont/etc/Calpont.xml -rw-r--r-- 1 root root 18186 6月 9 16:30 2014 /usr/local/Calpont/etc/Calpont.xml ※InfiniDBパラメーターファイルの内容 # cat /usr/local/Calpont/etc/Calpont.xml <?xml version="1.0" encoding="UTF-8"?> <!-- $Id: Calpont.xml 3625 2013-05-30 15:48:57Z dhill $ --> <!-- WARNING: Do not make changes to this file unless directed to do so by Calpont service engineers. Incorrect settings can render your system unusable and will require a service call to correct. --> <Calpont Version="V1.0.0"> <ExeMgr1> <IPAddr>xxx.xxx.xxx.xxx</IPAddr> <Port>8601</Port> </ExeMgr1> ~~~中略~~~ <VersionBuffer> <!-- VersionBufferFileSize must be a multiple of 8192. One version buffer file will be put on each DB root. --> <VersionBufferFileSize>1GB</VersionBufferFileSize> </VersionBuffer> ~~~省略~~~ |
2.専用コマンドで確認
専用コマンドでInfiniDBパラメーターを確認する際は、対象のInfiniDBパラメーターがどのセクションに含まれるか把握している必要がありますので、ご注意ください。
以下の例では、VersionBufferFileSizeパラメーターの値が「1GB」であることを確認できます。
1 2 3 4 5 6 |
※構文 # configxml.sh getconfig セクション名 InfiniDBパラメーター名 ※実行例 # configxml.sh getconfig VersionBuffer VersionBufferFileSize Current value of VersionBuffer / VersionBufferFileSize is 1GB |
InfiniDBパラメーターの変更方法
InfiniDBパラメーターは専用コマンドを使用して変更します。対象のInfiniDBパラメーターがどのセクションに含まれるか把握している必要がありますので、ご注意ください。
また、マルチサーバー構成の場合は、必ずアクティブな親OAM パフォーマンスモジュールで実行する必要があります。
以下の例では、VersionBufferFileSizeパラメーターの値を「4GB」へ変更しています。
1 2 3 4 5 6 7 8 9 10 11 |
※構文 # configxml.sh setconfig セクション名 InfiniDBパラメーター名 設定値 ※実行例 # configxml.sh setconfig VersionBuffer VersionBufferFileSize 4GB Old value of VersionBuffer / VersionBufferFileSize is 1GB /usr/local/Calpont/etc/Calpont.xml backed up to /usr/local/Calpont/etc/Calpont.xml.1402649974 Old value of VersionBuffer / VersionBufferFileSize is 1GB VersionBuffer / VersionBufferFileSize now set to 4GB |
InfiniDBパラメーターの変更後、設定値を反映させるためにはInfiniDBの再起動が必要です。
1 2 3 4 5 |
※InfiniDBの停止 # cc shutdownsystem y ※InfiniDBの起動 # cc startsystem |
MySQLパラメーターの確認方法
MySQLパラメーターを確認する方法は2通りあります。1.MySQLパラメーターファイルで確認
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
※MySQLパラメーターファイル名 # ls -l /usr/local/Calpont/mysql/my.cnf -rw-r--r-- 1 mysql mysql 5642 6月 6 20:38 2014 /usr/local/Calpont/mysql/my.cnf ※MySQLパラメーターファイルの内容 # cat /usr/local/Calpont/mysql/my.cnf ~~~中略~~~ [mysqld] default-character-set=utf8 character-set-server=utf8 init-connect='SET NAMES utf8' max_length_for_sort_data=4096 port = 3306 socket = /usr/local/Calpont/mysql/lib/mysql/mysql.sock datadir = /usr/local/Calpont/mysql/db ~~~省略~~~ |
2.MySQLコマンドで確認
MySQLコマンドで確認できるMySQLパラメーターは、現在インスタンスまたはセッションに反映されている設定値です。
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 |
※インスタンスに反映されている設定値を確認する構文 mysql> show global variables; ※セッションに反映されている設定値を確認する構文 mysql> show variables; ※実行例 mysql> show variables; +---------------------------------+-------------------------------------------------------------------------------------------+ | Variable_name | Value | +---------------------------------+-------------------------------------------------------------------------------------------+ | auto_increment_increment | 1 | | auto_increment_offset | 1 | | autocommit | ON | | automatic_sp_privileges | ON | | back_log | 50 | | basedir | /usr/local/Calpont/mysql/ | ~~~中略~~~ | version_comment | Calpont InfiniDB Enterprise 3.5.8-1 GA (Commercial) | | version_compile_machine | x86_64 | | version_compile_os | unknown-linux-gnu | | wait_timeout | 28800 | | warning_count | 0 | +---------------------------------+-------------------------------------------------------------------------------------------+ 243 rows in set (0.00 sec) |
MySQLパラメーターの変更方法
MySQLパラメーターを変更する方法は2通りあります。1.MySQLパラメーターファイルを編集
永続的にMySQLパラメーターを変更したい場合は、MySQLパラメーターファイルを編集します。
以下の例では、使用ポート番号を9999へ変更しています。
1 2 3 4 |
# vi /usr/local/Calpont/mysql/my.cnf port = 9999 ^^^^ 値を編集して保存 |
MySQLパラメーターファイルの変更後、設定値をインスタンスへ反映させるためにはInfiniDBの再起動が必要です。
1 2 3 4 5 |
※InfiniDBの停止 # cc shutdownsystem y ※InfiniDBの起動 # cc startsystem |
2.MySQLコマンドで変更
MySQLコマンドでは、起動中のインスタンス全体またはセッション単位でMySQLパラメーター値を一時的に変更できます。ただし、動的に変更可能なMySQLパラメーターに対してのみ実行できます。
また、インスタンス全体に対してMySQLパラメーターを変更した場合、自セッションに対しては設定値が反映されず、後続セッションから設定値が反映されます。
以下の例では、max_length_for_sort_dataを「10240」へ変更しています。
1 2 3 4 5 6 7 8 9 |
※起動中のインスタンス全体で変更する構文 mysql> SET GLOBAL MySQLパラメーター名 = 設定値 ※セッション単位で変更する構文 mysql> SET MySQLパラメーター名 = 設定値 ※実行例 mysql> SET GLOBAL max_length_for_sort_data = 10240; Query OK, 0 rows affected (0.00 sec) |
なお、動的に変更可能なMySQLパラメーターは以下のページに記載されています。併せてご参照ください。
動的システム変数(マニュアル)
http://dev.mysql.com/doc/refman/5.1/ja/dynamic-system-variables.html