[PYTHON] Django Getting Started: intégration 4_MySQL

table des matières

Django Start: 1_Environment Construction Django Start: 2_Create Project Django start: intégration 3_Apache Django start: intégration 4_MySQL

La dernière fois, j'étais prêt à publier un projet créé avec Django en collaboration avec Apache. Nous continuerons à construire l'environnement sans écrire le programme réel. Cette fois, modifiez les paramètres de la base de données.

Django utilise SQLite par défaut. Alors qu'il a l'avantage de pouvoir démarrer un projet très facilement (aucun paramétrage requis) Lorsqu'il s'agit de migrer vers MySQL plus tard, cela prendra plus de temps et d'efforts. Faisons d'abord les choses douloureuses.

Ce à quoi j'étais accro lors de la migration de la base de données Django de sqlite3 vers MySQL

D'autant que je prévois de faire un travail lié à l'analyse de texte, j'ai lu quelque part que SQLite n'est pas adapté pour gérer une grande quantité de données, j'ai donc décidé de changer le paramètre. De plus, j'étais habitué à MySQL.

Je n'ai pas trouvé un bon article sur la différence entre SQLite et MySQL, donc j'apprécierais que vous puissiez présenter un bon article ou un bon livre. C'est léger, mais voici la différence. Liste des systèmes de gestion de base de données utilisables avec les serveurs de location

environnement

Installation de MariaDB

yum install mariadb mariadb-server mariadb-devel

Modifier le fichier de paramètres

Ouvrez le fichier de configuration mysql. Lors de la gestion du japonais, spécifiez le code de caractère.

vi /etc/my.cnf

Ajoutez ce qui suit sous [mysqld]

character-set-server = utf8
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

De plus, tout le post-scriptum ci-dessous

[client]
default-character-set = utf8

Redémarons pour que les paramètres prennent effet.

systemctl start mariadb
systemctl enable mariadb

Réglage initial

Je vais devoir répondre à diverses questions.

mysql_secure_installation
Enter current password for root (enter for none):  #Le paramètre par défaut est vide. Appuyez simplement sur Entrée
Set root password? [Y/n] y
New password: #Tout mot de passe
Re-enter new password:: #Confirmation mot de passe

Toutes les questions suivantes sont OK avec "y".

Exécutez mysql avec un mot de passe.

$ mysql -u root -p
Enter password: #Entrez le mot de passe que vous avez défini précédemment
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 789
Server version: 5.5.47-MariaDB MariaDB Server

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

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

Créons maintenant une base de données pour Django.

MariaDB [(none)]> create database xxx;
MariaDB [(none)]> exit;

Ceci termine les paramétrages côté DB. Après cela, laissez Django reconnaître cette base de données.

Paramètres Django

Ouvrez le fichier de paramètres.

vi settings.py
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'xxx',  #Nom de base de données créé précédemment
        'USER': 'root',  #Nom d'utilisateur mysql (la racine est NG pour la sécurité, changez en conséquence)
        'PASSWORD': 'pass',  #mot de passe mysql
        'HOST': '',  #IP hôte
        'PORT': '',  #Port
    }
}

...

TIME_ZONE = 'Asia/Tokyo'

HOST et PORT peuvent être vides si vous utilisez le port par défaut dans la base de données de l'hôte local.

Ajouter un module

pip install PyMySQL

Demande d'utiliser le module ajouté à manage.py.

vi manage.py 
import pymysql
pymysql.install_as_MySQLdb()

Créons et exécutons une migration.

python manage.py makemigrations
python manage.py migrate

référence

Connectez-vous à MySQL avec Python3 + Django

Recommended Posts

Django Getting Started: intégration 4_MySQL
Django Getting Started: intégration 3_Apache
Premiers pas avec Django 1
Premiers pas avec Django 2
Django Getting Started Partie 3 sur Python3 & MySQL Connector
Django Getting Started: 2_ Créer un projet
Django Premiers pas: 1_Construction de l'environnement
Premiers pas avec Python Django (1)
Premiers pas avec Python Django (4)
Premiers pas avec Python Django (3)
Introduction à Python Django (6)
Premiers pas avec Django avec PyCharm
Premiers pas avec Python Django (5)
Paramètres Django + MySQL
Grails pour commencer
Django Getting Started Part 2 avec eclipse Plugin (PyDev)
Premiers pas avec Android!
Premiers pas avec apache2
Premiers pas avec Python
Introduction à l'optimisation
Premiers pas avec Numpy
Premiers pas avec Spark
Premiers pas avec Python
Utiliser MySQL avec Django
Premiers pas avec Pydantic
Premiers pas avec Jython
Introduction aux fonctions Python
Introduction à Tkinter 2: Button
Lancez-vous avec Django! ~ Tutoriel ⑤ ~
Premiers pas avec Go Assembly
[Linux] [Configuration initiale] Introduction
Premiers pas avec PKI avec Golang ―― 4
Lancez-vous avec Django! ~ Tutoriel ④ ~
Prise en main et utilisation d'exemples de vues génériques basées sur des classes dans Django
Lancez-vous avec Django! ~ Tutoriel ⑥ ~
Premiers pas avec Heroku-Viewing Hello World en Python Django avec Raspberry PI 3
Premiers pas avec Python responder v2
Introduction à Git (1) Stockage d'historique
Premiers pas avec Sphinx. Générer docstring avec Sphinx
Premiers pas avec les applications Web Python
Premiers pas avec Python pour les classes PHPer
Premiers pas sur Docker Apache Hadoop
Premiers pas avec Sparse Matrix avec scipy.sparse
Premiers pas avec Julia pour Pythonista
Premiers pas avec Python Bases de Python
Comment démarrer avec Django
Premiers pas avec Cisco Spark REST-API
Commençant par USD sur Windows
Premiers pas avec les algorithmes génétiques Python
Premiers pas avec Python 3.8 sous Windows
Premiers pas avec Python pour les fonctions PHPer
Utiliser les pictogrammes Unicode 6.0 avec django / MySQL
Premiers pas avec CPU Steal Time