MySQL Instance Manager と接続後、コマンドを発行します。コマンドの実行には、次のような原則があります。
インスタンス名が有効でない場合、動作しない。
インスタンス名が無い (存在しない)
場合、動作しない。 (CREATE
INSTANCE
は別。)
インスタンスが適切なステート (状態) であるよう要求する。オフラインではないインスタンスを設定または起動することはできない。 (MySQL 5.1.12 以降)
ファイルが存在しない、または Instance Manager からアクセスできない場合は、設定ファイルの変更はできない。Instance Manager では、内部キャッシュ (メモリ) でインスタンス設定 (コンフィギュレーション) に関する情報を保管している。基本的には、設定ファイルが存在すれば、情報はそこから送られ、コマンドによってはインスタンスの設定を変更できる。
コマンドで、内部キャッシュ とサーバの設定ファイルのインスタンス セクションの整合性を維持するために、両方を変更 (修正) する。(MySQL 5.1.12 以降。) これを行うには、まずインスタンスがオフラインであること、設定ファイルがアクセス可能であり、不正形式ではないことを確認する。設定ファイルを更新できない場合に、コマンドに失敗すると、キャッシュへの変更がないままとなる。
Windows 環境では、 Instance Manager
をインストールした ディレクトリの
my.ini
が標準ファイル。Unix
環境では、/etc/my.cnf
が標準の設定ファイル。異なる設定ファイルを指定するには、--defaults-file
オプションで Instance Manager を起動する。
[mysqld]
というインスタンス
セクションが設定ファイルには、Instance
Manager特有のオプションを入れない。
(項4.4.2. 「MySQL Instance Manager の設定ファイル」
を参照のこと。)
つまり、mysqld
という名前のインスタンスの設定変更には、これらのオプションを付加しないこと。
次のリストは、使用例とともに、Instance Manager で使えるコマンドを説明します。
CREATE INSTANCE
instance_name
[option_name
[=option_value
],
...]
新たなインスタンスを設定する。設定ファイルに、[
セクションを作成する。インスタンス名が
instance_name
]instance_name
に対して有効ではない場合、または存在しない場合は、コマンドに失敗する。
オプションを付けない場合は、インスタンスのセクションを空にする。付ける場合は、オプション ファイルで記述するときと同じ形式にする。使用可能なシンタックスに関しては、項3.3.2. 「オプションファイルの使用」 を参照のこと。複数のオプションを指定する場合は、それらをカンマで区切る。
例: [mysqld98]
という名前のインスタンス
セクションを作成するには、変更しようとしている設定ファイルで次のようにする。
[mysqld98] basedir=/var/mysql98
CREATE INSTANCE
経由で同様の効果を与えるには、Instance
Manager で次のコマンドを発行する。
mysql> CREATE INSTANCE mysqld98 basedir="/var/mysql98";
Query OK, 0 rows affected (0,00 sec)
CREATE INSTANCE
でインスタンスを作成するが、起動はしない。
インスタンス名が、(廃止された) 名前
mysqld
である場合には、Instance
Manager
に対して指定するオプションをオプション
リストに含めることはできない。たとえば、nonguarded
など。(項4.4.2. 「MySQL Instance Manager の設定ファイル」
を参照のこと。)
(MySQL 5.1.12 に追加)
DROP INSTANCE
instance_name
設定ファイルから
instance_name
の設定を削除する。
mysql> DROP INSTANCE mysqld98;
Query OK, 0 rows affected (0,00 sec)
instance_name
が有効なインスタンス名でない場合、あるいは、インスタンスが存在しない、またはオフラインの場合は、コマンドに失敗する。.
(MySQL 5.1.12 に追加)
START INSTANCE
instance_name
オフラインのインスタンスの起動を試行する。非同期 (asynchronous) で、インスタンス起動を待機する。
mysql> START INSTANCE mysqld4;
Query OK, 0 rows affected (0,00 sec)
STOP INSTANCE
instance_name
インスタンス停止を試行する。同期 (synchronous) で、インスタンス停止を待機する。
mysql> STOP INSTANCE mysqld4;
Query OK, 0 rows affected (0,00 sec)
SHOW INSTANCES
ロードされたすべてのインスタンスの名前とステータスを表示する。
mysql> SHOW INSTANCES;
+---------------+---------+
| instance_name | status |
+---------------+---------+
| mysqld3 | offline |
| mysqld4 | online |
| mysqld2 | offline |
+---------------+---------+
SHOW INSTANCE STATUS
instance_name
ステータスとバージョン情報を表示する。
mysql> SHOW INSTANCE STATUS mysqld3;
+---------------+--------+---------+
| instance_name | status | version |
+---------------+--------+---------+
| mysqld3 | online | unknown |
+---------------+--------+---------+
SHOW INSTANCE OPTIONS
instance_name
インスタンスで使用しているオプションを表示する。
mysql> SHOW INSTANCE OPTIONS mysqld3;
+---------------+---------------------------------------------------+
| option_name | value |
+---------------+---------------------------------------------------+
| instance_name | mysqld3 |
| mysqld-path | /home/cps/mysql/trees/mysql-4.1/sql/mysqld |
| port | 3309 |
| socket | /tmp/mysql.sock3 |
| pid-file | hostname.pid3 |
| datadir | /home/cps/mysql_data/data_dir1/ |
| language | /home/cps/mysql/trees/mysql-4.1/sql/share/english |
+---------------+---------------------------------------------------+
SHOW
instance_name
LOG
FILES
インスタンスで使用しているすべてのログ
ファイルをリストする。結果セットはログ
ファイルのパスとサイズ。設定ファイルのインスタンス
セクションで、ログ
ファイルのパスを指していない場合、(例:log=/var/mysql.log
)、Instance
Manager が代替するものを検索する。Instance
Manager でログ
ファイルに代わるものを見つけられないときは、設定ファイルで該当するインスタンス
セクションのログ
オプションを使用して、明示的にログ
ファイルの位置を指定する。
mysql> SHOW mysqld LOG FILES;
+-------------+------------------------------------+----------+
| Logfile | Path | Filesize |
+-------------+------------------------------------+----------+
| ERROR LOG | /home/cps/var/mysql/owlet.err | 9186 |
| GENERAL LOG | /home/cps/var/mysql/owlet.log | 471503 |
| SLOW LOG | /home/cps/var/mysql/owlet-slow.log | 4463 |
+-------------+------------------------------------+----------+
SHOW ... LOG FILES
はログ
ファイルに関する情報だけを表示する。サーバ
インスタンスでログ
ファイルを使用する場合には、テーブルに関する情報に関しては表示しない。項4.11.1. 「一般クエリとスロー クエリのログ出力先の選択」
を参照のこと。
ログ オプションに関する詳細は 項4.2.2. 「コマンド オプション」 を参照こと。
SHOW
instance_name
LOG
{ERROR | SLOW | GENERAL}
size
[,offset_from_end
]
指定したログ
ファイルを部分的に取り出す。多くのユーザは最新のログ
メッセージに関心があるため、size
パラメータは最後のログから読み出すバイト数を定義する。ログ
ファイルの途中からデータを読み出すには、任意の
offset_from_end
パラメータを指定する。次の例では、21
バイトのデータを読み出し。ログ
ファイルの終わりから 23
バイト前で始まり、2 バイト前で終わる。
mysql> SHOW mysqld LOG GENERAL 21, 2;
+---------------------+
| Log |
+---------------------+
| using password: YES |
+---------------------+
SET
instance_name
.option_name
[=option_value
]
特定インスタンスの設定セクションを変更する。インスタンス オプションを変更または追加するため。このセクションに追加したオプションは、まだ現在していないオプションのこと。それ以外では新たなセッティングが既存のものとの置き換えになる。
mysql> SET mysqld2.port=3322;
Query OK, 0 rows affected (0.00 sec)
MySQL 5.1.12
以降、カンマ区切りで、複数のオプションを指定することができるようになり、オフラインのインスタンスに
SET
を使用できる。それぞれのオプションがインスタンス名を示すようにする。
mysql> SET mysqld2.port=3322, mysqld3.nonguarded;
Query OK, 0 rows affected (0.00 sec)
MySQL 5.1.12 前は、指定できるオプションが 1
つだけで、設定ファイルへの変更は、MySQL
サーバが再起動するまで効果を発揮しない。また、変更はインスタンス管理をするローカル
キャッシュには保存されず、FLUSH
INSTANCES
コマンドを実行するまで有効にならない。
UNSET
instance_name
.option_name
インスタンスの設定セクションからオプションを削除する。
mysql> UNSET mysqld2.port;
Query OK, 0 rows affected (0.00 sec)
MySQL 5.1.12
以降、カンマ区切りで、複数のオプションを指定することができるようになり、オフラインのインスタンスに
UNSET
を使用できる。それぞれのオプションがインスタンス名を示すようにすること。
mysql> UNSET mysqld2.port, mysqld4.nonguarded;
Query OK, 0 rows affected (0.00 sec)
MySQL 5.1.12 前は、指定できるオプションは 1
つだけで、設定ファイルへの変更は、MySQL
サーバが再起動するまで効果を発揮しない。また、変更はインスタンス管理をするローカル
キャッシュには保存しないため、FLUSH
INSTANCES
コマンドを実行するまで有効にならない。
FLUSH INSTANCES
MySQL 5.1.12 以降、FLUSH INSTANCES
をすべてのインスタンスをオフラインにしてから使用する。このコマンドで
Instance Manager
に設定ファイルを再読み込みさせ、内部メモリのコンフィギュレーション
キャッシュを更新 (update) し、ガード
インスタンス (ガード有り) を起動する。
MySQL 5.1.12 前では、Instance Manager に設定ファイルの読み込みと内部ストラクチャのリフレッシュを強制している。設定ファイルを編集してからこのコマンドを実行するが、インスタンスの再起動はできない。
mysql> FLUSH INSTANCES;
Query OK, 0 rows affected (0.04 sec)
FLUSH INSTANCES
は廃止。MySQL 5.2
で削除。