Le serveur MySQL mysqld
peut être démarré
par n'importe quel utilisateur. Afin de changer l'utilisateur
qui fait tourner mysqld
en l'utilisateur Unix
nom_utilisateur
, vous devez faire ceci :
Stoppez le serveur si il fonctionne (utilisez
mysqladmin shutdown
).
Changez le propriétaire du dossier et des fichiers de bases
pour qu'il soit nom_utilisateur
. Il faut
que cet utilisateur ait les droits d'écriture et de lecture
(vous pourriez avoir à faire cette manipulation en tant que
root
Unix) :
shell> chown -R nom_utilisateur /path/to/mysql/datadir
Si les dossier ou les fichiers de données de MySQL sont des
liens symboliques, vous devez vous assurer de pouvoir suivre
ces lignes, et de changer les propriétaires des fichiers et
dossiers sur lesquels ils pointent. L'option chown
-R
de chown peut ne pas suivre les liens
symboliques.
Démarrez le serveur avec l'utilisateur
nom_utilisateur
, ou bien, si vous
utilisez MySQL version 3.22 ou plus récent, démarrez
mysqld
en tant que
root
Unix, et utilisez l'option
--user=nom_utilisateur
.
mysqld
va alors changer automatiquement
d'utilisateur pour utiliser
nom_utilisateur
avant d'accepter les
connexions.
Pour démarrer le serveur sous le nom d'utilisateur
automatiquement au moment du démarrage du système, ajouter
une ligne user
qui spécifie le nom de
l'utilisateur que le groupe de [mysqld]
est du même groupe que le fichier d'options
/etc/my.cnf
ou le fichier d'options
my.cnf
dans le dossier de données du
serveur. Par exemple :
[mysqld] user=nom_utilisateur
A ce moment, votre processus mysqld
doit
fonctionner normalement sous le nom de l'utilisateur Unix
nom_utilisateur
. Une chose n'a pas changé :
les droits dans les tables de droits de MySQL. Par défaut,
juste après avoir exécuté le script d'installation des tables
de droits mysql_install_db
, l'utilisateur
MySQL root
est le seul utilisateur du
système avec les droits de créer et de détruire les bases. A
moins que vous n'ayez changé ces droits, ils ont toujours
cours. Cela ne va pas vous empêcher d'accéder à MySQL en tant
que root
MySQL, même si vous n'êtes pas
connecté en tant que root
Unix. Spécifiez
simplement l'option -u root
au programme
client.
Notez qu'accéder à MySQL en tant que root
,
en fournissant l'option -u root
en ligne de
commande, n'a rien a voir avec MySQL qui fonctionne avec les
droits de root
Unix, ou d'un autre
utilisateur Unix. Les droits d'accès et les noms d'utilisateurs
MySQL sont complètement séparé des noms d'utilisateurs et des
mots de passes Unix. Le seul rapport avec les utilisateurs Unix
est que si vous ne fournissez pas l'option -u
lorsque vous démarrez votre client, le client va essayer de se
connecter à MySQL avec votre nom d'utilisateur Unix.
Si votre serveur Unix n'est pas sécurisé, il est recommandé
de donner un mot de passe à l'utilisateur MySQL
root
dans les tables de droits. Sinon,
n'importe quel utilisateur ayant un compte sur cette machine va
pouvoir accéder au compte root avec l'option mysql -u
root nom_base
et faire ce qu'il veut. See
Section 2.5, « Procédure de post-installation ».
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.