centos系でMySQLが起動できない問題
質問:
サーバー上で mysql サービスがダウンしていることが判明しました。
命令
systemctl status mysqld
サービスが停止していることを示します
サービスを開始してみる
命令
systemctl start mysqld
エラーは次のとおりです
私は最初にそれを試し、ログを見て、最後のエラー レポートの解決策を試しました。私のエラー レポートは、PID が見つからないというものです。
また、mysql 構成ファイル、/etc/my.cnf ファイルの校正、およびファイルのアクセス許可の校正も試しましたが、すべて正しいです。
でも結局始まらない。
そこで、システムが提案するコマンドを入力して理由を確認しました。
命令
journalctl -xe
出力は次のとおりです。
2020-12-24T06:29:14.146597Z 0 [Note] mysqld (mysqld 5.7.31-0ubuntu0.18.04.1) starting as process 2760 ...
2020-12-24T06:29:14.151841Z 0 [ERROR] Could not open file '/***/mysql/log/mysqld.log' for error logging: Permission denied
2020-12-24T06:29:14.151990Z 0 [ERROR] Aborting
エラー ログ用にファイル '/***/mysql/log/mysqld.log' を開けませんでした: 権限が拒否されました
パスは、構成したパスに関連付けられていますが、パーミッションの問題で開くことができないため、構成した mysqld.log を指す「***」に置き換えました。
インターネットで情報を調べるときは、いつも chamod や chown を使って mysql のパーミッションを変更しているのですが、何度やってもうまくいきません。
解決
結局、同僚が解決に協力してくれました (同僚 666)
次のコマンドを入力します。
setenforce 0
mysqld サービスを再起動した後:
systemctl restart mysgld
成功を報告するエラーはありません
分析する
setenforce 0 の役割をオンラインで確認
SELinux を許可モードに設定し 、一時的にselinux ファイアウォールを閉じることを示します
ファイアウォールをオフにして mysqld.log を再度記録することはできますか?
正確な理由はわかりませんが、何か関係があるのかもしれません。
解決策、ブックマークして記録します。