Trên trang tính, hộp tên hiển thị b2022 cho ta biết

Câu trả lời dễ dàng:

* * * * * systemctl hoạt động – mysqld yên tĩnh || Khởi động lại systemctl mysqld

Chi tiết câu trả lời:

Đây là một câu hỏi quan trọng, đặc biệt đối với những người sử dụng một VPS rất nhỏ, như 1 GB RAM hoặc ít hơn. Nếu MySQL ngừng hoạt động, có thể do sự cố cấu hình máy chủ (Apache | nginx) hoặc cấu hình MySQL. Các cuộc tấn công DOS có thể làm tăng việc sử dụng tài nguyên hệ thống (xem hình ảnh). Kết quả cuối cùng là quá trình MySQL bị đóng bởi hạt nhân. Để có giải pháp lâu dài hơn, hãy xem xét tối ưu hóa cấu hình Apache hoặc MySQL của bạn.

Có nhiều cuộc thảo luận về Stack Overflow khác về các chủ đề này cũng như hướng dẫn sử dụng MySQL và Percona Blog:

Hướng dẫn MySQL – Cách MySQL sử dụng bộ nhớ:

https://dev.mysql.com/doc/refman/8.0/en/memory-use.html

Percona – Các phương pháp hay nhất để định cấu hình sử dụng bộ nhớ MySQL tối ưu:

https://www.percona.com/blog/2016/05/03/best-practices-for-configuring-optimal-mysql-memory-usage/

Cách cải thiện hiệu suất MySQL bằng MySQLTuner:

https://www.linode.com/docs/databases/mysql/how-to-optimize-mysql-performance-using-mysqltuner/

Định cấu hình sử dụng bộ nhớ Apache:

/ server / 254436 / apache-memory-use-use-Optimization

Hướng dẫn Điều chỉnh Hiệu suất Apache:

https://httpd.apache.org/docs/2.4/misc/perf-tuning.html

Định cấu hình máy chủ Apache:

https://www.linode.com/docs/web-servers/apache-tips-and-tricks/tuning-your-apache-server/

Tuy nhiên, đối với câu hỏi ban đầu của bạn, có, bạn có thể viết một giải pháp tạm thời để kiểm tra xem dịch vụ MySQL đã được tải và đang chạy hay chưa, đồng thời sẽ khởi động lại MySQL nếu nó không được tải và đang chạy.

Bạn không đề cập đến việc bạn đang sử dụng hệ điều hành nào. Điều này sẽ giúp cung cấp cho bạn một lệnh cụ thể. Tôi sẽ cung cấp cho bạn một ví dụ trên CentOS linux.
Nhìn vào kết quả sau để biết lệnh trạng thái mysql systemctl. Bạn có thể thấy ở trên cùng rằng dịch vụ đã Thai kỳtích cực .

[[email protected] ~]# systemctl status mysqld mysqld.service – Tải máy chủ MySQL: Đã tải (/usr/lib/systemd/system/mysqld.service; đã kích hoạt; tài nguyên đặt trước: đã tắt) hoạt động: hoạt động (đang chạy) kể từ Thứ Ba, 2019-06-18 -18: 28: 18 UTC; Trước 924ms docs: man: mysqld (8) http://dev.mysql.com/doc/refman/en/using-systemd.html Process: 3350 ExecStart = / usr / sbin / mysqld –daemonize –pid-file = /var/run/mysqld/mysqld.pid $ MYSQLD_OPTS (mã = thoát, trạng thái = 0 / thành công) Hoạt động: 3273 ExecStartPre = / usr / bin / mysqld_pre_systemd (mã = thoát, trạng thái = 0 / thành công) PID chính: 3353 (mysqld) CGroup: /system.slice/mysqld.service 3353 / usr / sbin / mysqld –daemonize –pid-file = / var / run / mysqld / mysqld.pid 18 Tháng 6 18:28:11 centos-mysql – hệ thống hiển thị[1]: Khởi động Máy chủ MySQL … 18 tháng 6 18:28:18 centos-mysql-demo systemd[1]: Khởi động MySQL Server.

Nếu dịch vụ không được tải, một lệnh như:

case systemctl mysqld || Khởi động lại systemctl mysqld

Nó sẽ thực hiện thủ thuật để bắt đầu lại quá trình. Bạn bè Có thể Nói:

* * * * * trạng thái systemctl mysqld || Khởi động lại systemctl mysqld

Tuy nhiên, trong trường hợp của mysql thì nó là Thai kỳ Nhưng dịch vụ không công việc Crohn sẽ không làm gì cả. Vì vậy, bạn nên sử dụng một lệnh phức tạp hơn như:

* * * * * systemctl hoạt động – mysqld yên tĩnh || Khởi động lại systemctl mysqld

Trong trường hợp này, nếu dịch vụ Thai kỳ nhưng Không hoạt động, Giống như trường hợp một cuộc tấn công DOS có thể rời khỏi dịch vụ mysql của bạn, lệnh cũng sẽ khởi động lại mysql. Sử dụng cờ –quietc chỉ đặt lệnh chỉ trả về mã trạng thái, không xuất bất cứ thứ gì ra màn hình. Nếu bạn bỏ qua cờ –quiet, bạn sẽ thấy đầu ra trạng thái là hoạt động hoặc không hoạt động.

Bạn cũng có thể tạo một số không gian hoán đổi để thêm nhiều tài nguyên RAM khả dụng hơn vào máy chủ của mình như:

sudo dd if = / dev / zero of = / swapfile count = 2096 bs = 1MiB chmod 600 / swapfile mkswap / swapfile swapon / swapfile swapon – hiển thị swapon – tóm tắt miễn phí -h

Bài viết được chia sẻ bởi kinhnghiem.com

Leave a Reply

Your email address will not be published.