Для облегчения работы пользователя без полномочий root, например пользователь ОС MySQL, чтобы остановить и запустить MySQL Server, используя инструменты системного администрирования на уровне ОС, которые полагаются на Systemd.
Следующая запись в файле sudoers позволит пользователю ОС mysql остановить и запустить сервер mysql через оболочку администрирования ОС.
# visudo ## MySQL Admin Cmnd_Alias MYSQLADMIN = /usr/bin/systemctl stop mysqld, /usr/bin/systemctl start mysqld,/usr/bin/systemctl restart mysqld mysql ALL=MYSQLADMIN
От пользователя ОС mysql, Служба теперь может быть остановлена / запущена, как и ожидалось.
$ 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
Примечание. MySQL 5.6 изначально не использует оболочки systemd, даже в поддерживаемых ОС. Он по-прежнему будет использовать скрипты SysV, обычно в /etc/init.d. Их можно остановить / запустить без особых привилегий. Однако требуется особое внимание, если планируется запуск БД при загрузке системы, как в этом случае, могут существовать права доступа к файлу root, например, файл блокировки / журнал ошибок.




