非ルートユーザーを容易にするため。 mysql OS ユーザー。Systemd に依存する OS レベルのシステム管理ツールを使用して MySQL サーバーを停止および起動します。 sudoers ファイル内の次のエントリにより、OS ユーザー mysql が OS 管理ラッパーを介して 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 OS ユーザーとして、期待どおりにサービスを停止/開始できるようになりました。
$ 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
注意 :サポートされている OS でも、MySQL 5.6 は systemd ラッパーをネイティブに使用しません。通常は /etc/init.d にある SysV スクリプトを引き続き使用します。これらは、特別な権限がなくても停止/開始できます。ただし、DB がシステムの起動時に開始するようにスケジュールされている場合は、このシナリオのように特別な注意が必要です。たとえば、ロック ファイル/エラー ログにルート ファイル権限が存在する可能性があります。