2012年8月24日金曜日

Ubuntu 12.04 にて dotCloud の MySQL を試してみる (コマンドライン編)


久しぶりのdotCloud
超久しぶりです。

ちょっとやりたい事ができて、バックエンドをdotCloudで実装しようと思ったので触ってみました。

このエントリの目次
  1. dotCloudの導入
  2. MySQLつきのサービスをデプロイする
  3. MySQLをコマンドラインから触ってみる
  4. さいごに
1.dotCloudの導入
dotCloud の導入については、当ブログの DotCloud + PHPで「Hello World」をUbuntu 11.04で試してみた に書いてるので、そちらをご参照下さい。

2.MySQLつきのサービスをデプロイする
まずは適当にhelloworldディレクトリを作ってその中に移動します。
$ mkdir helloworld
$ pwd
~/work/dotcloud/helloworld

そこでdotcloud.ymlという名前で下記のような設定ファイルを作ります。
my_database:
    type: mysql

「my_database」は好きな文字列を指定できます。

あとはサービスを作成して、dotCloudに同期させるだけでOKです。

まずサービスの作成。
helloworld という名前で作成します。
$ dotcloud create helloworld
Created application "helloworld" using the flavor "sandbox" (Use for development, free and unlimited apps. DO NOT use for production.).
This flavor cannot be changed.

** YOU HAVE CREATED A SANDBOX APPLICATION **
SANDBOX applications may not be scaled, may not use custom domains,
and do not have the same performance guarantees as "live" applications.
SANDBOX applications cannot be upgraded.

Information about the different flavors offered can be found here:
http://docs.dotcloud.com/guides/flavors/

そしてdotCloudに同期。
$ dotcloud push helloworld
# upload ~/work/dotcloud/helloworld ssh://dotcloud@uploader.dotcloud.com:443/helloworld
# rsync
building file list ... done
./
dotcloud.yml

sent 148 bytes  received 34 bytes  28.00 bytes/sec
total size is 29  speedup is 0.16
16:31:09 ---> Deploy of "helloworld" scheduled for revision rsync-1345739468475 at 2012-08-23 16:31:09
16:31:09 ---> Building the application...
16:31:09 ---> Nothing to build
16:31:09 ---> Initializing new services... (This may take a few minutes)
16:31:09 ---> Using default scaling for service my_database (1 instance(s)).
16:31:09 [my_database.0] Initializing...
16:31:24 [my_database.0] Service initialized
16:31:25 ---> Deploy finished

Deployment finished. Your application is available at the following URLs
No URL found. That's ok, it means that your application does not include a webservice.

3.MySQLをコマンドラインから触ってみる
下記のコマンドでMySQLの対話モードに入ります。
$ dotcloud run helloworld.my_database -- mysql
# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 36
Server version: 5.1.41-3ubuntu12.10-log (Ubuntu)

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

mysql> 
コマンド中のhelloworld.my_databaseは、<createしたサービス名>.<dotcloud.ymlに記述したMySQLのキー>に相当します。

で、まずはデータベースを作って。
mysql> CREATE DATABASE nujabes;
Query OK, 1 row affected (0.00 sec)

作ったデータベースを使います。
mysql> use nujabes;
Database changed

そのデータベース中にテーブルを作って。
mysql> CREATE TABLE songs(id INT(10), title VARCHAR(64));
Query OK, 0 rows affected (0.04 sec)

値を入れてみます。
mysql> INSERT INTO songs(id, title) VALUES(0, 'Luv (Sic) Pt. 2');
Query OK, 1 row affected (0.01 sec)

SELECT文で確認します。
mysql> SELECT * FROM songs;
+------+-----------------+
| id   | title           |
+------+-----------------+
|    0 | Luv (Sic) Pt. 2 |
+------+-----------------+
1 row in set (0.00 sec)

簡単でした。

4.さいごに
慣れたら3分で構築できそうです。

次のエントリではPHPからMySQLを操作してみます。

0 件のコメント:

コメントを投稿


Related Posts Plugin for WordPress, Blogger...