vagrant
Pocket

前回、VagrantでPHPを使えるところまでやりました。

VagrantでPHPの環境をつくる

今回はMySQLをインストールしてデータベースを作ったり、Sequel Proというデータベースを操作できるアプリを使ってVagrant環境のデータベースを見たりしたいと思います。

Vagrantfileがあるディレクトリに移動し、

vagrant up

そしてssh接続しておきます。

vagrant ssh

1. MySQLのインストール

まずは以下のコマンドでMySQLをダウンロード

wget http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm

「–no-check-certificate’ を使ってください」と言われる場合は、

wget http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm --no-check-certificate

そして、以下のコマンドでMySQLをインストールします。

sudo rpm -Uvh mysql-community-release-el6-5.noarch.rpm
sudo yum install mysql-community-server

バージョンを確認して出てきたらOKです。

mysql --version

以下でステータスの確認をしてみます。

sudo service mysqld status
# mysqld is stopped

停止していると出ます。

起動させます。

sudo service mysqld start

もう一度ステータス確認をするとrunningと出てくると思います。

Vagrant起動時に自動で立ち上がるように設定をします。

sudo chkconfig mysqld on

2. データベースを操作してみる

まずは以下のコマンドでデータベースを起動します。

mysql -u root

以下のコマンドでパスワードを設定します。「パスワード」というところは任意で設定してください。

set password for root@localhost=password('パスワード');

そして、以下で一旦終了します。

exit

パスワードを設定したら、以下のコマンドでデータベースを起動します。

mysql -u root -p

パスワードを聞かれるので、設定したパスワードを入力します。

データベースを作成する時はcreate database データベース名;と打ちます。サンプルで以下のコマンドを打ってみます。

create database sampleapp;

作成したデータベースの一覧を見たい時は以下のコマンドを打ちます。

show databases;

3. Sequel Proでデータベースを確認してみる。

Sequel Proはデータベースを操作できるアプリです。以下からインストールできます。

Sequel Pro

起動して、先ほど作ったデータベースに接続してみます。

connectdata

パスワードは先ほど設定したパスワードで、SSHパスワードはvagrantです。

接続し左上のデータベースを選択から、先ほど作ったsampleappというデータベースを選択できます。

selectdata

3. 作業ユーザーを作る

再びターミナルに戻って作業します。

rootユーザーでは全てのデータベースを扱えるので、作業用のユーザーを設定します。

以下のコマンドで設定します。

grant all on データベース名.* to ユーザー名@localhost identified by 'パスワード';

今回は以下のように打ってみます。パスワードは任意で。

grant all on sampleapp.* to dbuser@localhost identified by 'パスワード';

一旦終了して、

exit

そして、作ったユーザーでデータベースを起動します。

mysql -u dbuser -p sampleapp

パスワードを聞かれるので入力します。

Sequel Proでもdbuserのユーザー名で入ることができます。

connectdatauser

4. テーブルを作ってみる

コマンド操作でテーブルを作ってみます。

createから打ち始めて、セミコロンを打つまでは改行されるので、打ち続けます。最後まで打ち終わった場合はセミコロンを打つと操作が完了します。

mysql> create table users (
    -> id int,
    -> name varchar(255)
    -> );

「Query OK, 0 rows affected (0.02 sec)」と出るとOKです。

Sequel Proでsampleappのデータベースを選択するとusersというテーブルができていると思います。

showtable

ターミナル上でみるより、アプリで見る方が見やすいですね。

コマンドで確認する場合は、以下のコマンドを打ちます。

show tables;

こんな感じでMySQLのインストールから、コマンドでデータベースを作ったり、テーブルを作ったり、作ったデータベースをSequelというアプリで見るところまでできました。

また、ちょっとずつ操作法を書いていこうかと思います。

Pocket