私はArch Linux (Manjaro)でMariaDB (v 10.3.13)を実行しています。過去数ヶ月は正常に動作していましたが、現在はいくつかの問題が発生しています。コンピュータを再起動しようとすると、
A stop job is running for MariaDB 10.3.13 database server
かかる時間は 1 分ごとに増加し、最終的にタイムアウトになります (約 20 分後)。
MariaDBを手動で停止すると、再起動/停止しようとするとスタックします。
sudo systemctl stop/restart mariadb
そしてランニングsudo systemctl status mariadb
ショー
/usr/bin/mysqld (initiated by: unknown): Normal shutdown
Event Scheduler: Purging the queue. 0 events
InnoDB: FTS optimize thread exiting.
InnoDB: Starting shutdown...
InnoDB: Dumping buffer pool(s) to /var/lib/mysql/ib_buffer_pool
InnoDB: Buffer pool(s) dump completed at 190402 20:31:01
InnoDB: Waiting for page_cleaner to finish flushing of buffer pool
1 分ごとに新しい行がInnoDB: Waiting for page_cleaner to finish flushing of buffer pool
追加されます。
MariaDB をリセットする方法はありますか? または、問題が何であるかについての詳細情報を取得する方法はありますか?
PS: 最近、パッケージ マネージャーを使用していくつかの更新プログラムをインストールしましたが、その後初めて問題に気付きました。
アップデート:
MariaDB をアンインストールし、再起動して再インストールすると、問題なく MariaDB を停止/再起動でき、シャットダウンも問題なく実行されます。しかし、再度起動すると、上記の問題に戻ります。
答え1
何時間にもわたる苦闘の末、ようやく問題を解決することができました。
timedatectl set-local-rtc 1
原因はWin10とのデュアルブートの 時間設定( )でした。
最近の時刻変更により時計がおかしくなりました。(ステータス ログ エントリはsudo systemctl status mariadb
1 時間先になっていました)
設定
timedatectl set-local-rtc 0
再起動すると解決しました。
答え2
TimeoutSec=300
また、 mysql start service 構成ファイルからタイムアウト値を (5 分) からより低い値に変更して減らすこともできます。
vi /usr/lib/systemd/system/mariadb.service
### after editing timout value in above config file you can apply it by using:
systemctl daemon-reload
注記: これは修正ではないまたは、この問題の解決策。サービス終了のタイムアウト値を減らすだけです。OS とサービスでこの問題が発生した状況やバグに基づいて正しい解決策を見つけ、問題が解決したらタイムアウトをデフォルトの推奨値に戻すことを検討する必要があります。