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
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
0Kiểm tra xem script đã hoạt động đúng hay chưa
Run try
* * * * * systemctl is-active --quiet mysqld || systemctl restart mysqld
1Nếu MySQL đang chạy bình thường, sẽ có thông báo
* * * * * systemctl is-active --quiet mysqld || systemctl restart mysqld
2Cố 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
3Time test back script
* * * * * systemctl is-active --quiet mysqld || systemctl restart mysqld
1Kết quả sẽ là
* * * * * systemctl is-active --quiet mysqld || systemctl restart mysqld
5Bước cuối cùng là chạy script trong cronjob
* * * * * systemctl is-active --quiet mysqld || systemctl restart mysqld
6Dán đoạn lệnh sau vào cuối tập tin
* * * * * systemctl is-active --quiet mysqld || systemctl restart mysqld
7Lư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