AWSのEC2に作成したmariaDBを再起動したいときに発生するエラーの対処法についてです。
エラーの発生状況と内容
mariaDBを再起動するために以下のコマンドを実行したときに発生。
$ sudo systemctl restart mysqld.service
エラーの発生原因は、MariaDBを再起動したいのにも関わらず、MySQLを指定しているため、そんなサービスはないという理由です。
対処法
コマンドの mysqld.service を mariadb.serviceに変更します。
$ sudo systemctl restart mariadb.service
MariaDBとMySQLは互換性が高く、同じコマンドを使う場面も多いですが、systemctl restart では、MariaDBを指定する必要がある。
install, systemctl, restart 〇〇.service, service に関しては使い分けが必要。
その他関連エラー|内容と対処法
systemctlコマンド以外のserviceコマンドでも同じ状況でエラーが発生します。
こちらも、mysqld を mariadbに変更することで対応可能。
エラー:sudo service mysqld start
$ sudo service mysqld start
#エラー
Redirecting to /bin/systemctl start mysqld.service
Failed to start mysqld.service: Unit not found.
エラー:sudo service mysqld status
$ sudo service mysqld status
#エラー
Redirecting to /bin/systemctl status mysqld.service
Unit mysqld.service could not be found.
エラー:sudo service mysqld stop
$ sudo service mysqld stop
#エラー
Redirecting to /bin/systemctl stop mysqld.service
Failed to stop mysqld.service: Unit mysqld.service not loaded.
↓
対処例:sudo service mariadb status
成功例
$ sudo service mariadb status
Redirecting to /bin/systemctl status mariadb.service
● mariadb.service - MariaDB database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
Active: active (running) since Fri 2020~
~
Hint: Some lines were ellipsized, use -l to show in full.
MariaDBとMySQLのインストールコマンドの違い
そもそも、インストールするコマンドが、MariaDBとMySQLで異なります。
MariaDBのインストール時はmariadb-serverを使い、有効可するときもmariadbを使います。
MariaDBのインストールコマンド
$ sudo yum install -y mariadb-server
$ sudo systemctl enable mariadb
MySQLのインストールコマンド
$ sudo yum -y install mysql-server
$ sudo systemctl enable mysqld.service