
アップデート Robert Longson の提案に従って /etc/systemd/system を使用することで、mysqld.service ファイルを作成できました。
今、私の問題は変わりました。サービスを開始すると失敗します。実行したところ
systemctl status mysqld.service
、出力は次のようになりました。Loaded: loaded (/etc/systemd/system/mysqld.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Sun 2020-03-29 19:01:25 CDT; 38s ago Docs: man:mysqld(7) http://dev.mysql.com/doc/refman/en/using-systemd.html Process: 9251 ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --daemonize --pid mysqld.service: Service hold-off time over, scheduling restart. mysqld.service: Scheduled restart job, restart counter is at 5. Stopped MySQL Server. mysqld.service: Start request repeated too quickly. mysqld.service: Failed with result 'exit-code'. mysqld.service: Failedto start MySQL Server
MySQL Server 5.7をインストール後、初めてsystemdを使用して起動しようとしています。マニュアルには、/usr/lib/systemd/systemに設定ファイルを作成するように書かれています。しかし、そのサブディレクトリは存在しません(私は Ubuntu 18.04 を使用しています)。私はこのガイドに従っています:
MySQL インストールを systemd で動作するように構成するには:
- MySQL サービスの詳細を含む systemd サービス ユニット構成ファイルを追加します。ファイルの名前は mysqld.service で、/usr/lib/systemd/system に配置されます。
shell> cd /usr/lib/systemd/system
shell> touch mysqld.service
shell> chmod 644 mysqld.service
systemdの「system」サブディレクトリがないので、mysql.serviceファイルを作成しました。直接/usr/lib/systemd にあります。残りの指示に従った後、次のようになりました。
shell> systemctl start mysqld
しかし、それは失敗しました:
Failed to enable unit: Unit file mysqld.service does not exist.
誰か私が何を間違えたのか説明してもらえませんか? よろしくお願いします。
答え1
サービスファイルは実際には/usr/lib/systemd/systemではなく/etc/systemd/systemにあります。
サービスが失敗する理由を知りたい場合は、試すかsystemctl status mysqld
、より完全なログが必要な場合は journalctl コマンドを調べてくださいjournalctl -u mysqld -S today
。