ホーム >  Python >  VagrantでCentOS7 + Python + Django環境を作る(その3 MariaDB)


Posted:2017/07/01 9:00:26 AM|Category : Python

VagrantでCentOS7 + Python + Django環境を作る(その3 MariaDB)

Vagrantを使い、WebフレームワークであるDjangoを環境を作ります。今回は、データベースであるMariaDBをインストールします。

仮想環境にPythonをインストール

MariaDBはMySQLをフォークして立ち上げられたプロジェクトです。もちろんMySQLと機能互換があります。MySQLと同様のデータベース操作コマンドやPythonパッケージを使うことができます。

準備

Vagrantでゲスト環境(仮想環境)を作ります。ゲスト環境の中にDjangoを構築します。その前に、以下の作業を終わらせましょう。

①Virtualboxをインストールします。Virtualboxのインストールまでで結構です。

VirtualBoxをインストールする for Ubuntu

②Vagrantをインストールします。centos7環境を作りますので、Vagrantのインストールのみ済ませてください。

Vagrantをインストールしてテスト環境を作る for Ubuntu

③Vagrantにcentos7環境を作ります。

VagrantでCentOS7 + Python + Django環境を作る(その1 仮想環境作成)

④VagrantにPython3をインストールし、「pyenv + virtalenv」を作ります。

VagrantでCentOS7 + Python + Django環境を作る(その2 Pythonとpyenv + virtalenv)

ホスト環境

OS Ubuntu 16.04.1 LTS 64bit
Virtualbox 5.1
Vagrant 1.9.5

ゲスト環境

OS CentOS 7.1.1503
Python 3.6.1
pip 9.0.1
Web フレームワーク Django 1.11.2
データベース MariaDB 5.5.52-1.el7.x86_64
Webサーバ nginx 1.13.2

Vagrantへログイン

①【ホスト環境】端末を開き、前回構築したVagrantのディレクトリまで移動します。

cd vagrant/django_apps/

②【ホスト環境】仮想マシンを起動します。

vagrant up

③【ホスト環境】ログインします。

vagrant ssh

pyvenvで作成した仮想環境にログイン

前回、pyenvで仮想環境「venv_app1」を作成しました。ここにログインします。

①【ホスト環境】Vagrantの中の「venv_app1」ディレクトリまで移動します。

cd /vagrant/django_apps/venv_app1/

②【ゲスト環境】「venv_app1」を有効化します。

source ./bin/activate

以下のようなプロンプトが表示されれば有効化成功です。

(venv_app1) [vagrant@localhost venv_app1]$ 

MariaDBをインストール

①MariaDBをインストールしていきます。

sudo yum install -y mariadb-server mariadb-devel

②MariaDBをPythonプログラムから操作するため、mysqlclientをインストールします。

pip install  mysqlclient

成功すると、以下のようなメッセージが表示されます。

Successfully installed mysqlclient-1.3.10

③MariaDBを起動します。

sudo systemctl start mariadb
sudo systemctl enable mariadb

④MariaDBにrootユーザでログインします。

mysql -u root
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.52-MariaDB MariaDB Server

Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.

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

⑤新規にデータベースを作成します。ここでは、「app1_db」という名前のデータベースを作成します。

MariaDB [(none)]> CREATE DATABASE app1_db CHARACTER SET utf8;
Query OK, 1 row affected (0.00 sec)

⑥作成したデータベースにアクセスできるユーザを作成します。ユーザとパスワードを設定します。

GRANT ALL PRIVILEGES ON app1_db.* TO app1_user@localhost IDENTIFIED BY 'app1_passwd';
ユーザ名 app1_user
パスワード app1_passwd
Query OK, 0 rows affected (0.00 sec)

⑦MySQLプロンプトを終了します。

exit

⑧正常にデータベースとユーザが作成されたか確認するために、新しく作成したユーザでログインします。

mysql -u app1_user -papp1_passwd

⑨データベースの一覧を表示します。

SHOW DATABASES;

app1_dbが正常に作成されたことを確認することができました。

+--------------------+
| Database           |
+--------------------+
| information_schema |
| app1_db            |
| test               |
+--------------------+
3 rows in set (0.00 sec)

Djangoを使っていると、直接、MariaDBコマンドを叩く機会は多くはありません。DjangoのORM(Object-Relational Mapping)機能を利用することでModels.pyという設定ファイルに書かれた内容を元に、動的にデータベースが反映されていきます。

⑩mariaDBのバージョンを確認する場合は、以下のコマンドで確認します。

rpm -qa | grep -i mariadb

次回

次回は、ゲスト環境(仮想環境)にnginxをインストールします。

VagrantでCentOS7 + Python + Django環境を作る(その4 nginx)


トラックバック用のURL
プロフィール

名前:イワサキ ユウタ 職業:システムエンジニア、ウェブマスター 誕生:1986年生まれ 出身:静岡県 特技:ウッドベース 略歴 2008年04月 金融機関系I

最近の投稿
人気記事
カテゴリー
広告