Le lundi 09 août 2021 à 08:52 +0200, Odile Troulet-Lambert a écrit :
> Bonjour
> Pour distribuer une application django qui utilise un serveur SQL sur le
> localhost, je souhaite installer SQL server sous le répertoire user. Est-ce
> possible de modifier les paramètres d'installation car par défaut SQL server
> s'installe dans VAR/lib/
> Merci d'avance pour votre aide.
> Odile
>
Bonjour Odile,
généralement, même pour une install de dev, on laisse les fichiers des tables
dans /var/lib.
Les étapes sont les suivantes :
- sudo apt install mysql-server
- sudo mysql_secure_installation
puis connexion à la base de donnée locale et creation d'un utilisateur pour
django :
- sudo mysql # devrait marcher directement avec l'auth par socket unix, sinon
pour les plus vieilles machines utiliser l'option --defaults-
file=/etc/mysql/debian.cnf ou équivalent
- CREATE DATABASE django_app_db;
- CREATE USER 'django_user'@'localhost' IDENTIFIED BY
'supermotdepassecompliqué';
- GRANT ALL PRIVILEGES ON django_app_db.* TO 'django_user'@'localhost';
- FLUSH PRIVILEGES;
et on utilise cet user pour accéder à la base de données depuis django
Quand il y a besoin d'une petite base de données sur le système de fichiers
sqlite est intéressant.
Et pour répondre à la question posée directement : la variable qui définit quel
dossier utiliser pour les données est "datadir", définie dans
/etc/mysql/mysql.conf.d/mysqld.cnf
Il est aussi possible demodifier le fonctionnement seulement pour un utilisateur
en créant un fichier dans le home : ~/.my.cnf
Vous pouvez consulter
https://www.digitalocean.com/community/tutorials/how-to-move-a-mysql-data-directory-to-a-new-location-on-ubuntu-16-04
(en anglais) pour un exemple de tutoriel qui détailles étape par étape les
points à suivre pour réussir le déménagement sans casser ni le fonctionnement de
mysqld ni la sécurité.
Librement,
--
Jean-Loup