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/
tar -xvf mariadb-10.1.14-linux-x86_64.tar.gz # extraction
cd mariadb-10.1.14-linux-x86_64 # dans le répertoire Lancement :
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.
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...
# C'est une question de configuration
Posté par Algernon . En réponse au message Démarrer mariadb en tant que simple user. É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é.