Pour faciliter un utilisateur non root, par ex. l'utilisateur du système d'exploitation mysql, pour arrêter et démarrer le serveur MySQL à l'aide des outils d'administration système au niveau du système d'exploitation qui s'appuient sur Systemd. L'entrée suivante dans le fichier sudoers permettra à l'utilisateur du système d'exploitation mysql d'arrêter et de démarrer le serveur mysql via le wrapper d'administration du système d'exploitation.
# visudo ## MySQL Admin Cmnd_Alias MYSQLADMIN = /usr/bin/systemctl stop mysqld, /usr/bin/systemctl start mysqld,/usr/bin/systemctl restart mysqld mysql ALL=MYSQLADMIN
En tant qu'utilisateur du système d'exploitation mysql, le service peut maintenant être arrêté/démarré comme prévu.
$ sudo systemctl stop mysqld $ systemctl status mysqld ● mysqld.service - MySQL Server Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled) Active: inactive (dead) since Mon 2016-06-06 12:34:28 AEST; 1s ago Process: 11633 ExecStart=/usr/sbin/mysqld --daemonize $MYSQLD_OPTS (code=exited, status=0/SUCCESS) Process: 11617 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS) Main PID: 11637 (code=exited, status=0/SUCCESS)
$ sudo systemctl start mysqld $ systemctl status mysqld ● mysqld.service - MySQL Server Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled) Active: active (running) since Mon 2016-06-06 12:34:38 AEST; 1s ago Process: 11697 ExecStart=/usr/sbin/mysqld --daemonize $MYSQLD_OPTS (code=exited, status=0/SUCCESS) Process: 11682 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS) Main PID: 11701 (mysqld) CGroup: /system.slice/mysqld.service └─11701 /usr/sbin/mysqld --daemonize
Remarque :MySQL 5.6 n'utilise pas nativement les wrappers systemd, même sur les systèmes d'exploitation pris en charge. Il utilisera toujours les scripts SysV, généralement dans /etc/init.d. Ceux-ci peuvent être arrêtés/démarrés sans aucun privilège spécial. Une attention particulière est requise, cependant, si la base de données est programmée pour démarrer au démarrage du système, comme dans ce scénario, des autorisations de fichiers racine peuvent exister, par exemple, verrouiller le fichier/journal des erreurs.