Web888.vn
  • Shop
  • Blog
Đăng nhập
  • Đăng nhập / Đăng ký

Please enter key search to display results.

Home
  • 直接管理者
  • オペレーティングシステムの知識
  • Linuxサーバー
  • テクノロジーニュース
サーバーが過負荷になったときにMysqlの自動再起動をスケジュールするためにcronjobを使用するための手順

サーバーが過負荷になったときにMysqlの自動再起動をスケジュールするためにcronjobを使用するための手順

  • 24-07-2022
  • Toanngo92
  • 0 Comments

Mục lục

  • 1.過負荷になったときにMysqlを手動で再起動します
  • 2. MySQLを再起動するスクリプト(Bashスクリプト)を作成します
  • 3.作成したスクリプトファイルが正しく機能しているかどうかを確認します
  • 4.cronを使用してスクリプトファイルの実行を自動化します

1.過負荷になったときにMysqlを手動で再起動します

MySQLは、メモリが不足した場合、またはサーバーが多くの異なるサイトを実行している場合の私の場合は他の問題が原因で問題が発生する可能性があります。ほとんどの場合、MySQLサービスを手動で再起動することでこの問題を解決できます。

MySQLが実行されているかどうかを確認するには、次のコマンドを実行します。

 sudo service mysql status // kiểm tra trạng thái mysql

または:

 sudo service mysqld status // kiểm tra trạng thái nếu sử dụng mariadb

Mysqlの状態がオフの場合は、コマンドラインを使用して再起動します。

 sudo service mysql restart // hoặc sudo service mysqld restart

手動で行うのは簡単ですが、深夜にデータベースが過負荷になると、寝ているときにWebサイトへのアクセスが中断されるので、これを解決するにはどうすればよいでしょうか。

linux / Centosを使用すると、オペレーティングシステムはCron機能を提供します。これは、Linux用の時間ベースの自動スクリプトジョブスケジューラであり、スクリプトを操作せずにスクリプトを実行できます。

2. MySQLを再起動するスクリプト(Bashスクリプト)を作成します

MySQLサーバーのステータスを自動的にチェックし、クラッシュした場合は再起動するようにcronを構成できます。もちろん、これは薄汚いMySQLサーバーの恒久的な修正ではありませんが、さらに調査できるようになるまで時間を節約できます。

まず、簡単なBASHスクリプトを作成し、それをホームディレクトリ(または任意の場所)に保存してから、このBASHスクリプトを1分に1回実行するようにcronに指示する必要があります。

このスクリプトはどこにでも配置できますが、この例では、ルートディレクトリに配置します。または、bitviseを使用してサーバーにアクセスし、コマンドラインをシミュレートするフォルダーを作成します。次に、scriptsというフォルダーを作成します。

 cd /root/ // change directory to root folder sudo mkdir scripts // make dir scripts with root permission
bitviseを使用してルートディレクトリにアクセスします

スクリプトフォルダに移動し、nanoツール(Linuxターミナルのデータエディタ)でmysqlmonファイルを作成するか、bitviseを使用してこのファイルを作成します

cd scripts sudo nano mysqlmon.sh
bitviseを使用してmysqlmon.shを作成します

サービスがmysqlであるかmysqldであるかに応じて、新しく作成されたmysqlmon.shファイルに次のコードを挿入します。

 #!/bin/bash # Check if MySQL is running sudo service mysql status > /dev/null 2>&1 # Restart the MySQL service if it's not running. if [ $? != 0 ]; then echo -e "MySQL Service was down. Restarting now...n" sudo service mysql restart else echo -e "MySQL Service is running already. Nothing to do here.n" fi // sử dụng 1 trong 2 đoạn code này phù hợp server của bạn, chỉ khác nhau mysql và mysqld #!/bin/bash # Check if MySQL is running sudo service mysqld status > /dev/null 2>&1 # Restart the MySQL service if it's not running. if [ $? != 0 ]; then echo -e "MySQL Service was down. Restarting now...n" sudo service mysqld restart else echo -e "MySQL Service is running already. Nothing to do here.n" fi

nanoを使用している場合は、保存して終了します(Ctrl + Xを押し、Y(yes)を押してから、Enterを押します)

スクリプトに実行権限を付与します。

 sudo chmod +x mysqlmon.sh

3.作成したスクリプトファイルが正しく機能しているかどうかを確認します

次のコマンドを実行して、新しく作成されたスクリプトファイルを実行します。

 sudo ./mysqlmon.sh

Mysqlサービスがまだ実行中の場合、ターミナルは次の行を表示します。

 MySQL Service is running already. Nothing to do here.

スクリプトがMySQLのクラッシュを検出したときに何が起こるかを確認したい場合は、MySQLサービスを停止してください。この手順に注意してください。データベースを読み込めないため、サーバーが一時的にクラッシュします。

 sudo service mysql stop

停止した後、作成したmysqlmon.shファイルを再度実行して、mysqlを認識して再起動するかどうかを確認してください。

 sudo ./mysqlmon.sh

正しく実行されると、このテキスト行が表示されます

MySQL Service was down. Restarting now..

最後にもう一度ステータスをチェックして、成功したかどうかを確認します。

 sudo service mysql status

4.cronを使用してスクリプトファイルの実行を自動化します

nanoまたはbitviseを使用してcronファイルを作成します。

 cd ~ cd /etc/cron.d // chuyển tơi thư mục etc/cron.d nano -w auto_restart // khởi tạo file auto_restart với trình biên tập nano

このコマンドラインをファイルauto_restartに貼り付けます

*/1 * * * * root /root/scripts/mysqlmon.sh >/dev/null 2>&1 // chạy file này 1 phút 1 lần, tăng số 1 lên nhiều nếu bạn muốn thời gian tự động chạy lâu hơn
cron.dに表示されるauto_restartファイル

cronファイルを保存して終了します。

この方法を使用する場合、コマンドラインcrontab -lでcronコマンドを見つけることができないことに注意してください。コマンドが認識されるかどうかを確認するには、次のコマンドラインを使用します。

 head -n -0 /var/spool/cron/* /etc/crontab /etc/cron.d/* // xem các kịch bản tự động chạy trong thư mục cron.d ls /etc/cron.{hourly,daily,weekly,monthly}/ // xem các file cron tự động chạy trong các thư mục cron theo giờ, ngày, tuần, tháng ...

幸運を !

Bài viết liên quan:

MicrosoftSQLServerの概要
PHPで文字列を処理する関数
PHPの定数と定数の宣言方法
Xampp
Mythemeshopは、無料のコミュニティ36プレミアムバージョンのワードプレステーマを提供しています!
仕事を早く発展させるために、これらのことを覚えておいてください!
ユーザーマニュアルと基本的な管理機能WordPressCMS
幸せの前に苦しみ、それから金持ちになりますか?正しく考える方法は?
WordPressで「MissingTemporaryDirectory」エラーを修正
市場の残酷な現実を受け入れないでください、成功について考えないでください!
人々が人生でますます経験不足になっている理由
タグマネージャーを使用して、Googleアドワーズ広告とGoogleアナリティクスの連絡フォーム7イベント変換を設定します

THÊM BÌNH LUẬN Cancel reply

Dịch vụ thiết kế Wesbite

NỘI DUNG MỚI CẬP NHẬT

MacOSにPHPを手動でインストールする

SQLServer2019のSQLの高度な機能

AzureSQLの紹介

SQLServerのJSONデータ

LinuxおよびUnixOSにPHPを手動でインストールする

Giới thiệu

web888.vn là chuyên trang chia sẻ và cập nhật tin tức công nghệ, chia sẻ kiến thức, kỹ năng. Chúng tôi rất cảm ơn và mong muốn nhận được nhiều phản hồi để có thể phục vụ quý bạn đọc tốt hơn !

Liên hệ quảng cáo: [email protected]

Kết nối với web888

© web888.vn - Tech888 Co .Ltd since 2019

Đăng nhập

Trở thành một phần của cộng đồng của chúng tôi!
Registration complete. Please check your email.
Đăng nhập bằng google
Đăng kýBạn quên mật khẩu?

Create an account

Welcome! Register for an account
The user name or email address is not correct.

Your personal data will be used to support your experience throughout this website, to manage access to your account, and for other purposes described in our privacy policy.

Registration confirmation will be emailed to you.
Log in Lost your password?

Reset password

Recover your password
Password reset email has been sent.
The email could not be sent. Possible reason: your host may have disabled the mail function.
A password will be e-mailed to you.
Log in Register
×