Configuration et utilisation d’une base de données MySQL/MariaDB

Si vous souhaitez installer un serveur MySQL/MariaDB pour Pod, veuillez consulter la documentation concernant la mise en production d’Esup-Pod.

Cette documentation ne concerne que la configuration et l’utilisation d’une base de données MySQL/MariaDB existante (typiquement dans le cadre d’un environnement mutualisé).

Installation des librairies

Sur les serveurs devant utiliser la base de données MySQL/MariaDB, il est nécessaire d’installer le moteur MySQL/MariaDB / Python via les commandes suivantes :

pod@pod:$ sudo apt install -y mariadb-client
pod@pod:$ sudo apt install -y pkg-config python3-dev default-libmysqlclient-dev
pod@pod:$ cd ~/django_projects/podv4
pod@pod:$ workon django_pod4
(django_pod4) pod@pod:~/django_projects/podv4$ pip3 install mysqlclient

Configuration d’Esup-Pod

Si ce n’est pas encore fait, vous devez spécifier la configuration de votre base de données dans votre fichier de configuration settings_local.py :

(django_pod4) pod@pod:~/django_projects/podv4$ vim pod/custom/settings_local.py
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': '<my_database>',
        'USER': '<my_database_user>',
        'PASSWORD': '<my_database_password>',
        'HOST': '<my_database_host>',
        'PORT': '3306',
        'OPTIONS': {
            'init_command': "SET storage_engine=INNODB, sql_mode='STRICT_TRANS_TABLES', innodb_strict_mode=1",
            'charset': 'utf8mb4',
        },
    }
}

Remplacer les différentes variables <my_database_*> selon votre environnement. Par exemple, en local, <my_database_host> pourra être remplacé par 127.0.0.1.

Il faut ensuite lancer le script présent à la racine afin de créer les fichiers de migration, puis de les lancer afin de créer la base de données :

(django_pod4) pod@pod:~/django_projects/podv4$ make createDB

Ne pas oublier de créer à nouveau un superutilisateur :

(django_pod4) pod@pod:~/django_projects/podv4$ python manage.py createsuperuser