DockerによるDjango実行環境へMySQLインストール

LINEで送る
Pocket

DockerによるDjango実行環境へMySQLインストール

MySQLをDockerコンテナへインストール

ゲストOSは、Ubuntu18.04

 

Python3でMySQLに接続するドライバーをインストールする。

pip install PyMySQL

Djangoのmanage.py で、PyMySQLを利用できるように設定

import pymysql

pymysql.install_as_MySQLdb()

 

MySQLサーバーとクライアントをインストール。

Ubuntuでは、通常両方をインストールする。

apt-get install mysql-server mysql-client

 

MySQL serverとMySQL clientの機能:

MySQLは、クライアント/サーバーアーキテクチャで、ネットワーク環境で動作する。

MySQL serverは、MySQL clientからの要求を受けてデータベースの入出力を行う。

 

MySQL client:

MySQL serverに接続できる。

 

MySQ server:

複数のデータベースをホストし、MySQ clientからのクエリを処理する。

「MySQ」パッケージは、MySQ server、MySQ clientの両方を含んでいる。

リモートサーバーに接続してクエリを実行するだけでよい場合は、MySQ clientだけをインストールする。データベースをホストする必要がある場合は、クライアントとサーバーをインストールする。

 

 

MySQLの基本設定

mysql_secure_installation コマンドを実行し、管理者(root)、パスワードなどインストール後の初期設定を行う。基本的には、「y」で進める。

 

MySQLサービスを起動

$ service mysql start

 

再起動は、

$ service mysql restart

 

ローカルコンソールからMySQLサーバーに接続

$ mysql -u root -p

パスワードを入力

 

MySQLに接続すると、以下のプロンプトが表示される。

mysql >

 

状態表示

mysql > status

 

データベース一覧表示

mysql > show databases;

 

データベース選択

mysql > use データベース名

 

データベース上に存在するテーブルの確認

mysql > show tables from データベース名;

mysql > show tables from test_db;

 

テーブルの構造を確認

mysql> desc テーブル名;

mysql> desc hello_friend;

 

テーブルの一覧表示

mysql> select * from テーブル名;

mysql> select * from hello_friend;

 

 

ユーザー一覧表示

mysql > select user,host from mysql.user;

 

特定のユーザーの権限確認

mysql > show grants for ‘ユーザー名’@’ホスト名’;

 

中断

mysql > quit

 

終了

mysql > exit

 

 

データベースの作成

mysql > create database ‘データベース名’;

mysql > create database test_db;

 

 

ユーザーの作成

mysql > create user ‘ユーザー名’@’ホスト名’ identified by ‘パスワード’;

mysql > create user hanako@localhost identified by ‘password’;

 

 

ユーザーにデータベースの操作権限を付与

mysql > grant all privileges on ‘データベース名’.* to ‘ユーザー名’@’ホスト名’ identified by ‘パスワード’;

mysql > grant all privileges on test_db.* to hanako@localhost identified by ‘password’;

 

MySQLデータベースの文字コードを「utf8」に設定して、日本語入力を可能にする。

 

文字コードの確認

mysql > status

 

character_setの確認

mysql> show variables like “chara%”;

ディフォルトだと、

server   characterset: latin1

DB        characterset: latin1

 

nano /etc/mysql/mysql.conf.d/mysqld.cnf # nanoエディターで編集。

nanoエディターは事前にUbuntu環境にインストールしておく

[mysqld]セクションに下記の行を追加する。

character-set-server = utf8

default_password_lifetime = 0 # パスワード設定期間を無期限にする。

lower_case_table_names = 1 # 大文字、小文字を区別しない。

 

その他ツールの文字コードをutf8にする。

nano /etc/mysql/conf.d/mysqldump.cnf

 

[mysqldump]セクションに下記行を追加する。

default=character-set = utf8

 

nano /etc/mysql/conf.d/mysql.cnf

[mysql] セクションに下記行を追加する。

default=character-set = utf8

 

 

 

LINEで送る
Pocket