Hello,
Comment faire pour démarrer mariadb en tant que simple user, afin, notamment, de pouvoir démarrer des tests d'intégration automatisés sur un mariadb tout neuf?
Les docs que j'ai trouvé mentionnent toutes root comme user démarrant le démon.
Merci pour les tips!
# C'est une question de configuration
Posté par Algernon (site web personnel) . Évalué à 1.
Tu n'es pas obligé d'être en root mais certains chemins par défaut peuvent te poser problème.
Par exemple, en partant d'un package tout juste téléchargé depuis https://downloads.mariadb.org/
Lancement :tar -xvf mariadb-10.1.14-linux-x86_64.tar.gz # extraction
cd mariadb-10.1.14-linux-x86_64 # dans le répertoire
bin/mysqld_safe
Erreur :
$ ./mysqld_safe
160602 11:30:27 mysqld_safe Logging to '/var/log/mariadb/mariadb.log'.
touch: impossible de faire un touch « /var/log/mariadb/mariadb.log »: Permission non accordée
chmod: impossible d'accéder à « /var/log/mariadb/mariadb.log »: Permission non accordée
Dans ce cas, il faut changer le paramètre "log-error ", qui pointe sur "/var/log/mariadb/mariadb.log" où un utilisateur ne peut pas écrire.
Ça se configure avec un fichier my.cnf qui peut être placé à plusieurs endroits.
Plus d'explications ici : https://mariadb.com/kb/en/mariadb/mysqld-configuration-files-and-groups/
Dans mon exemple, j'ai créé un my.cnf dans le répertoire courant :
$ cat my.cnf
[mysqld]
log-error = '/tmp/my.log'
Et quand je relance le log est accepté… avec une erreur sur le fichier .pid, lui-même configurable :
$ ./bin/mysqld_safe ----defaults-extra-file=my.cnf
160602 11:39:23 mysqld_safe Logging to '/tmp/my.log'.
160602 11:39:23 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
160602 11:39:24 mysqld_safe mysqld from pid file /var/run/mariadb/mariadb.pid ended
Tu vois le principe ?
De mémoire, data_dir, pid, log et socket doivent être changés et c'est tout. C'est ce qui est utilisé par MySQL Sandbox pour faire tourner des instances jetables…
En espérant t'avoir aidé.
# Avec bien sûr...
Posté par Algernon (site web personnel) . Évalué à 1.
… l'inévitable coquille :
Quatre "-" c'est trop :
./bin/mysqld_safe ----defaults-extra-file=my.cnf
Deux suffisent :
./bin/mysqld_safe --defaults-extra-file=my.cnf
Il y a des fichiers d'exemple de config dans le répertoire.
Voilà !
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.