Как проверить статус MySQL в Ubuntu?

Как проверить статус MySQL в Ubuntu База данных

MySQL — одна из самых популярных и часто используемых систем управления базами данных для веб-приложений. Он прост в установке, настройке и управлении, что делает его одним из лучших вариантов для новых и опытных пользователей.

Однако иногда сервер MySQL останавливается из-за ошибок или неправильной конфигурации. Это руководство покажет вам, как проверить состояние сервера MySQL и запустить его, если он не работает. Мы реализуем такие концепции, как сценарии systemd, crontab и bash для выполнения таких действий.

Предварительные условия

Прежде чем мы начнем, убедитесь, что у вас есть:

  • Установлен и настроен сервер MySQL
  • Иметь доступ к root или учетной записи с включенным sudo

Как только у нас будут указанные выше требования, мы можем приступить к работе.

Как только у нас будут указанные выше требования, мы можем приступить к работе

Проверить статус MySQL — Systemd

Первый метод, на котором мы сосредоточимся, прежде чем рассказывать о том, как создать скрипт, — это использовать диспетчер systemd.

Systemd — это мощная система инициализации и диспетчер служб Linux, которая позволяет запускать, останавливать и отслеживать состояния демонов и служб. Кроме того, он предлагает такие функции, как ведение журнала и отслеживание использования и т.д. Таким образом, это обычный инструмент для системных администраторов.

Чтобы использовать systemd для проверки службы MySQL, используйте команду как:

$ sudo systemctl start mysql.service

После того, как вы выполните указанную выше команду, systemd запустит службу, если не возникнет никаких ошибок. Чтобы проверить статус сервиса, используйте команду:

$ sudo systemctl start mysql.service

Это даст вам результат ниже, показывающий, что служба работает.

Проверить статус MySQL — MySQLadmin

Мы также можем использовать такой инструмент, как mysqladmin. Утилита командной строки администрирования сервера MySQL для проверки состояния сервера MySQL.

Используйте команду как:

$ mysqladmin -u root -p status

Если сервер MySQL запущен и работает, вы получите результат, как показано ниже:

Uptime: 35  Threads: 1  Questions: 4  Slow queries: 0  Opens: 103  Flush tables: 3  Open tables: 24  Queries per second avg: 0.114

Bash скрипт

Имея информацию о двух описанных выше методах, мы можем реализовать довольно простой сценарий bash, чтобы проверить, запущена ли служба, и запустить ее, если нет.

Шаг 1. Проверьте, запущена ли служба

Первое, что должен сделать наш сценарий, это проверить, запущена ли служба; мы можем получить это из вывода systemd как:

$ systemctl status mysql.service | grep “active”

Шаг 2: Перенаправить стандартную ошибку на стандартный вывод

После того, как мы получим статус службы с помощью grep, мы можем перенаправить EOF в / dev / null и файловый дескриптор как:

$ systemctl status mysql.service | grep “active” > /dev/null 2>&1

Шаг 3: Получение возвращаемого значения

На следующем шаге мы проверяем возвращаемое значение из приведенной выше команды с помощью символа $?

Как показано:

if [ $? != 0 ]

Шаг 4: Собираем все вместе

Теперь, когда у нас есть все функциональные возможности скрипта, мы можем собрать скрипт как:

#!/bin/bash
systemctl status mysql.service | grep ‘active’ > /dev/null 2>&1
if [ $? != 0 ]
then
systemctl start mysql.service
fi

Теперь сохраните скрипт и сделайте его исполняемым

$ sudo chmod 755 mysql_checker.sh

Шаг 5: Сообщите Cron

И последний шаг, который нам нужно сделать, это сообщить cron о нашем скрипте и автоматически управлять им.

Сделать это можно с помощью команды:

$ sudo crontab -e

Введите следующие строки.

*/5 * * * * /home/ubuntu/mysql_checker.sh

Это позволит cron запускать скрипт каждые 5 минут и запускать службу.

Заключение

В этом руководстве мы использовали systemd для проверки состояния MySQL и его перезапуска. Мы также реализовали сценарий bash и cron, чтобы автоматически обрабатывать проверку и перезапускать процесс.

Читайте также:  REINDEX PostgreSQL
Оцените статью
bestprogrammer.ru
Добавить комментарий