esup-pod

Arborescence des pages

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.
Commentaire: add 'charset': 'utf8mb4' on mariadb

...

Installation de MariaDB

Bloc de code
(django_pod) pod@pod:/usr/local/django_projects/podv3$$ sudo apt-get install mariadb-server mariadb-client
$ sudo mysql_secure_installation

 Attention il faut modifier le fichier /etc/mysql/mariadb.conf.d/50-server.cnf

...

Vous devez ensuite créer une nouvelle base de données.

Bloc de code
(django_pod) pod@pod:/usr/local/django_projects/podv3$$ sudo mysqladmin create mydatabase

Il faut ensuite donner les droits à cette base à un utilisateur renseigné dans votre fichier de settings ci-après

Bloc de code
(django_pod) pod@pod:/usr/local/django_projects/podv3$ $ sudo mysql
mysql> GRANT ALL PRIVILEGES ON mydatabase.* TO 'mydatabaseuser'@127.0.0.1 IDENTIFIED BY 'mypassword';
Query OK, 0 rows affected (0.00 sec)

mysql> exit

Depuis la version 3.3.1 il faut installer le timezone dans le moteur SQL (Mysal ou mariadb) (à faire en tant que root mysql !)

Bloc de code
(django_pod) pod@pod:/usr/local/django_projects/podv3$ $ mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql --database=mysql

Pour utiliser la base de données MySQL/MariaDB sur le serveur frontal (ou sur un serveur distant) il faut installer le moteur MySql/Python :

Bloc de code
(django_pod) pod@pod:/usr/local/django_projects/podv3$ $ sudo apt-get install pkg-config python3-dev
(django_pod) pod@pod:/usr/local/django_projects/podv3$ sudo apt-get install default-libmysqlclient-dev
(django_pod) pod@pod:/usr/local/django_projects/podv3$ pip3 install mysqlclient

...

Bloc de code
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'mydatabase',
        'USER': 'mydatabaseuser',
        'PASSWORD': 'mypassword',
        'HOST': '127.0.0.1',
        'PORT': '3306',
        'OPTIONS': {
            'init_command': "SET storage_engine=INNODB, sql_mode='STRICT_TRANS_TABLES', innodb_strict_mode=1",
			'charset': 'utf8mb4',
             },
    }
}

Il faut ensuite relancer 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 :

...

Bloc de code
(django_pod) pod@Pod:~/django_projects/podv3$ sudo apt-get install nginx

Ensuite, modifier le fichier /etc/nginx/sites-enabled/default

...

Bloc de code
(django_pod) pod@Pod:~/django_projects/podv3$ sudo apt-get install nginx-extras

Rajouter les lignes ci-dessous dans le fichier de configuration de nginx :

...