MariaDB-serverをマシンにインストールしました。設定中に、私が従うドキュメントがこれらの手順で提供されるように、常に有効にする必要があるかどうかという問題に遭遇しました。
Sudo yum install mariadb mariadb-server
Sudo systemctl start mariadb.service
Sudo systemctl enable mariadb.service
systemctl start
とsystemctl enable
は異なることを行います。
enable
は、指定されたユニットを関連する場所にフックします。これにより、起動時、関連するハードウェアがプラグインされたとき、またはユニットファイルで指定された内容に応じて他の状況で自動的に起動します。
start
はすぐにユニットを開始します。
disable
とstop
は、それぞれこれらの反対です。
つまり、MariaDBを最初にインストールするときに、systemctl enable mariadb.service
を実行して起動時に起動できるようにする必要がある場合があります。 MariaDBを起動するには、systemctl start mariadb.service
を実行するか、単に再起動することもできます。 MariaDBを停止するには、systemctl stop mariadb.service
を実行します(次回の起動時または手動で起動したときに再び起動します)。これを無効にしてブート時に起動しないようにするには、systemctl disable mariadb.service
を実行します。
ソース: systemctl man page
systemctl
マンページ から:
enable NAME...
Enable one or more unit files or unit file instances, as specified
on the command line. This will create a number of symlinks as
encoded in the "[Install]" sections of the unit files. After the
symlinks have been created, the systemd configuration is reloaded
(in a way that is equivalent to daemon-reload) to ensure the
changes are taken into account immediately. Note that this does not
have the effect of also starting any of the units being enabled. If
this is desired, either --now should be used together with this
command, or an additional start command must be invoked for the
unit.
...
Enabling units should not be confused with starting (activating)
units, as done by the start command. Enabling and starting units is
orthogonal: units may be enabled without being started and started
without being enabled. Enabling simply hooks the unit into various
suggested places (for example, so that the unit is automatically
started on boot or when a particular kind of hardware is plugged
in). Starting actually spawns the daemon process (in case of
service units), or binds the socket (in case of socket units), and
so on.
基本的に、enable
はブート時に起動するサービスをマークし、start
は実際にすぐにサービスを開始します。
Systemctlバージョン220の時点で、enableおよびdisableは、有効化/無効化と同時にサービスを開始/停止するための-nowスイッチをサポートします。
例えばsystemctl --now enable foobar.service
systemctl --version
を使用して、インストールされているバージョンを確認します。