TABLE解析に失敗しました:sandboxで実行するコマンドはおもに次のとおり。

  • ./start … サーバを起動。データディレクトリにpidファイル、/tmpにソケットファイルが作成される
  • ./stop … サーバを停止
  • ./send_kill … サーバを強制終了
  • ./clear … サーバを初期化(サーバ停止、データディレクトリのファイル全削除、データベースを空に)
  • ./use … MySQL Clientを起動。デフォルトのユーザ名とパスワード、ルートパスワードはそれぞれ「msandbox」となっている
  • ./my sql{dump|binlog|admin} … それぞれに対応したMySQLコマンドラインツールを起動

それではさっそくデプロイしたsandboxを利用してみよう。

./useを実行し、MySQL Clientツールを起動。データベース表示やテーブルを作成してみる

$ cd $HOME/sandboxes/msb_5_1_36
$ ./use
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.1.36 MySQL Community Server (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql [localhost] {msandbox} ((none)) > show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema | 
| mysql              | 
| test               | 
+--------------------+
3 rows in set (0.00 sec)
mysql [localhost] {msandbox} ((none)) > use test;
Database changed
mysql [localhost] {msandbox} (test) > show tables;
Empty set (0.00 sec)

mysql [localhost] {msandbox} (test) > create table newTable(no int);
Query OK, 0 rows affected (0.08 sec)

mysql [localhost] {msandbox} (test) > show tables;
+----------------+
| Tables_in_test |
+----------------+
| newTable       | 
+----------------+
1 row in set (0.00 sec)

mysql [localhost] {msandbox} (test) > exit;
Bye

当然ながら操作できることはMySQLそのものだ。思う存分「砂場」を利用したら、./clearを実行しよう。

/clearを実行すると、そのsandboxは初期化される。初期化の際の確認はないので注意されたい

$ ./clear
$ ./start
. sandbox server started
$ ./use
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.1.36 MySQL Community Server (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql [localhost] {msandbox} ((none)) > show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema | 
| mysql              | 
| test               | 
+--------------------+
3 rows in set (0.00 sec)

mysql [localhost] {msandbox} ((none)) > use test
Database changed
mysql [localhost] {msandbox} (test) > show tables;
Empty set (0.00 sec)

mysql [localhost] {msandbox} (test) > exit
Bye

レプリケーションや複数ノードのsandboxには次のようなコマンドも用意されている。あわせて参考にしてほしい。

Using the replication sandbox

  • ./start_all … マスターと全スレーブを開始
  • ./stop_all … マスターと全スレーブを停止
  • ./sendkillall … マスターと全スレーブを強制終了
  • ./clear_all … マスターと全スレーブを初期化
  • ./use_all "command" … 指定したコマンドを全ノードに実行
  • ./m … マスターに接続
  • ./s1, ./s2, ./s3, …… … 1番目、2番目、3番目、…のスレーブに接続

Using the multi-node sandbox

  • ./start_all … 全ノードを開始
  • ./stop_all … 全ノードを停止
  • ./sendkillall … 全ノードを強制終了
  • ./clear_all … 全ノードを初期化
  • ./use_all "command" … 指定したコマンドを全ノードに実行
  • ./n1, ./n2, ./n3, …… … 1番目、2番目、3番目、… のノードに接続