Mysql liên tục gặp sự cố

Và đôi khi những lỗi dưới đây nếu xuất hiện thì cũng có khả năng xảy ra lỗi do cơ sở dữ liệu đã bị sập

"Lỗi thiết lập một kết nối cơ sở dữ liệu"

"LỖI. không thể tìm thấy tệp PID của máy chủ mysql"
2. Cách xử lý

Để xử lý lỗi trên bạn cần kiểm tra lại các bảng bất kỳ của cơ sở dữ liệu bị lỗi bằng các cách sau

a. Đối chiếu với dịch vụ chia sẻ dịch vụ lưu trữ

- Truy cập vào trung tâm tài khoản khách hàng tại liên kết. https. //chắc chắn. vinahost. vn/ac/index. php -> Bảng điều khiển -> Tên gói dịch vụ lưu trữ chia sẻ của bạn

- Sau khi vào Cpanel, bạn chọn Quản lý cơ sở dữ liệu -> Danh sách cơ sở dữ liệu MYSQL

- Tại mục Sửa đổi cơ sở dữ liệu chọn cơ sở dữ liệu cần kiểm tra sau đó nhấp vào "Kiểm tra DB". Nếu bảng bị lỗi, bạn chọn cơ sở dữ liệu bị lỗi và bấm vào "Repair DB" để sửa lại cơ sở dữ liệu này.
Quý khách cũng có thể sửa chữa từng bàn bằng cách sau.
- Sau khi vào Cpanel, bạn chọn Quản lý cơ sở dữ liệu -> Chọn phpMyAdmin -> chọn cơ sở dữ liệu [bên phải] -> chọn bảng -> Chọn tiếp Thao tác. Khi đó bạn sẽ thấy Bảng kiểm tra và Bảng sửa chữa.

b. Đối chiếu với dịch vụ VPS/Server

Bạn có thể thao tác tương tự như gói dịch vụ chia sẻ lưu trữ nếu trên máy chủ của bạn có Giấy phép Cpanel. Nếu không, bạn có thể chạy lệnh sau để kiểm tra cơ sở dữ liệu

- Kiểm tra toàn bộ bảng của cơ sở dữ liệu

# mysqlcheck -c database_name  -u root –p

- Kiểm tra từng bảng trong cơ sở dữ liệu

# mysqlcheck -c database_name  table_name  -u root –p

- Kiểm tra tất cả các cơ sở dữ liệu có trong hệ thống

# mysqlcheck -c  -u root -p --all-databases

Nếu bảng bị lỗi, khách hàng sẽ chạy lệnh sau để sửa chữa cơ sở dữ liệu

# mysqlcheck -r  database_name  table_name  -u root –p

Thay vì chạy lệnh cho từng cơ sở dữ liệu, bạn có thể sử dụng lệnh sau để kết hợp công việc kiểm tra và sửa chữa bằng cách thêm vào “--auto-repair”

Cách này tương tự như cách trên, nhưng phức tạp hơn tí là chúng ta sẽ viết một tập lệnh để kiểm tra và khởi động lại

MySQL, after that run this bash in cronjob

Move to home directory

cd /home/

Tạo một thư mục mới gọi là tập lệnh

sudo mkdir scripts

Di chuyển tới thư mục này

cd scripts

Create a new file is mysqlmon. bạn có thể sử dụng trình soạn thảo có sẵn, ví dụ nano

sudo nano mysqlmon.sh

Dán nội dung như sau với Centos

#!/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

Nếu là Ubuntu

#!/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

Tiến hành lưu tệp [ấn 

* * * * * systemctl is-active --quiet mysqld || systemctl restart mysqld
8 + 
* * * * * systemctl is-active --quiet mysqld || systemctl restart mysqld
9, ấn 
* * * * * systemctl is-active --quiet mariadb || systemctl restart mariadb
0 sau đó ấn 
* * * * * systemctl is-active --quiet mariadb || systemctl restart mariadb
1]

Cấp quyền thực thi cho tập tin

* * * * * systemctl is-active --quiet mysqld || systemctl restart mysqld
0

Kiểm tra xem script đã hoạt động đúng hay chưa

Run try

* * * * * systemctl is-active --quiet mysqld || systemctl restart mysqld
1

Nếu MySQL đang chạy bình thường, sẽ có thông báo

* * * * * systemctl is-active --quiet mysqld || systemctl restart mysqld
2

Cố gắng mô phỏng tương ứng MySQL bị dừng bằng cách chạy lên dừng

* * * * * systemctl is-active --quiet mysqld || systemctl restart mysqld
3

Time test back script

* * * * * systemctl is-active --quiet mysqld || systemctl restart mysqld
1

Kết quả sẽ là

* * * * * systemctl is-active --quiet mysqld || systemctl restart mysqld
5

Bước cuối cùng là chạy script trong cronjob

* * * * * systemctl is-active --quiet mysqld || systemctl restart mysqld
6

Dán đoạn lệnh sau vào cuối tập tin

* * * * * systemctl is-active --quiet mysqld || systemctl restart mysqld
7

Lưu lại [nhấn 

* * * * * systemctl is-active --quiet mysqld || systemctl restart mysqld
8 + 
* * * * * systemctl is-active --quiet mysqld || systemctl restart mysqld
9, nhấn 
* * * * * systemctl is-active --quiet mariadb || systemctl restart mariadb
0 và nhấn 
* * * * * systemctl is-active --quiet mariadb || systemctl restart mariadb
1]

Như vậy máy chủ sẽ kiểm tra từng phút một lần và khởi động lại MySQL nếu bị dừng

key word. tự động khởi động mysql nếu dừng, Tập lệnh để tự động khởi động lại MySQL, tự động khởi động lại mysql nếu gặp sự cố, tự động khởi động lại Mysql bash, centos, ubuntu, vps

Chủ Đề