Cannot connect to the database error connecting to database

When using zabbix we may encounter many errors like zabbix cannot connect to the database. This may occur due to incorrect database details.

Are you looking for a solution to “zabbix cannot connect to the database” error ? Here’s how we fix it.

Zabbix is a monitoring software tool. When using zabbix we may encounter many errors like zabbix cannot connect to the database. This may occur due to incorrect database details.

At Bobcares, we often get requests from our customers to fix ‘zabbix cannot connect to the database’ as part of our Server Management Services.

Today, we’ll see the reasons and how our Support Engineers fix this error.

Causes for ‘Zabbix cannot connect to the database’ Error

At Bobcares, where we have more than a decade of expertise in managing servers, we see many customers face problems while managing Zabbix.

Now, let’s see the major reasons for this Zabbix error to occur and we’ll also see how our Support Engineers fix this zabbix database cannot connect error.

Incorrect Database details

Recently one of our customers approached us with the same zabbix problem. He said he was getting an error in his zabbix dashboard like the one shown below in the screenshot.

zabbix cannot connect to database

When we checked in detail, our Support Engineers found that there is mismatch in the details given in database with those in zabbix_server configuration file.

We found that the DBName given in database was not the same as the one given in zabbix configuration file. So, we changed it to the right one. Finally, this fixed the error.

We also Checked and confirmed whether all other values entered were right.

Incorrect DBsocket

We got another request from some other customer. However, the error was similar. Here is the error message our customer was receiving.

[ZXXX] connection to database 'Databasename' failed: [2002] Can't connect to local MySQL server through socket '/var/lib/mysql'

We checked and found that the socket given in mysql configuration file is different from the one specified in the configuration file for zabbix. In mysql configuration DBSocket value was  /var/run/mysql/mysql.sock and in zabbix_server configuration it was  DBSocket=/var/run/mysql. So, we made the following corrections in zabbix configuration file:

XXXX:/usr/share/zabbix # cat /etc/zabbix/zabbix-server.conf
LogFile=/var/log/zabbix/zabbix-server.log
PidFile=/var/run/zabbix/zabbix-server.pid
DBName=*****
DBUser=*****
DBPassword=*************
DBSocket=/var/run/mysql/mysql.sock

And this fixed the problem.

[Need any further assistance in fixing zabbix errors? – We’ll help you]

Conclusion

In short, ‘Zabbix cannot connect to the database’ error may occur due to some reasons like wrong database details or when there is any mismatch in configuration file values, etc. Today, we saw how our Support Engineers fix this error.

PREVENT YOUR SERVER FROM CRASHING!

Never again lose customers to poor server speed! Let us help you.

Our server experts will monitor & maintain your server 24/7 so that it remains lightning fast and secure.

GET STARTED

var google_conversion_label = «owonCMyG5nEQ0aD71QM»;

Содержание

  1. Zabbix cannot connect to the database – Let’s fix it!
  2. Causes for ‘Zabbix cannot connect to the database’ Error
  3. Incorrect Database details
  4. Incorrect DBsocket
  5. Conclusion
  6. PREVENT YOUR SERVER FROM CRASHING!
  7. Устраняем типичные ошибки в MySQL
  8. Не удаётся подключиться к локальному серверу
  9. Не удаётся подключиться к серверу MySQL
  10. Ошибки запрета доступа в MySQL
  11. Потеря соединения с сервером MySQL
  12. Слишком много подключений
  13. Недостаточно памяти
  14. MySQL продолжает «падать»
  15. Заключение
  16. Zabbix 5: Database Error — Connection Refused
  17. Zabbix 5: Ошибка базы Данных — Отказано в подключении
  18. Диагностика и исправление ошибки Zabbix 5 с сообщением «Database Error — Connection Refused»
  19. Проблема
  20. Проверка причины
  21. Удаление логов (журналов)
  22. Подготовка к расширению дискового пространства
  23. Увеличение дискового пространства виртуальной машины
  24. Настройка Разделов Linux С Помощью GParted Live
  25. Как решить похожую проблему на VMWare
  26. Резюме

Zabbix cannot connect to the database – Let’s fix it!

Are you looking for a solution to “zabbix cannot connect to the database” error ? Here’s how we fix it.

Zabbix is a monitoring software tool. When using zabbix we may encounter many errors like zabbix cannot connect to the database. This may occur due to incorrect database details.

At Bobcares, we often get requests from our customers to fix ‘zabbix cannot connect to the database’ as part of our Server Management Services.

Today, we’ll see the reasons and how our Support Engineers fix this error.

Causes for ‘Zabbix cannot connect to the database’ Error

At Bobcares, where we have more than a decade of expertise in managing servers, we see many customers face problems while managing Zabbix.

Now, let’s see the major reasons for this Zabbix error to occur and we’ll also see how our Support Engineers fix this zabbix database cannot connect error.

Incorrect Database details

Recently one of our customers approached us with the same zabbix problem. He said he was getting an error in his zabbix dashboard like the one shown below in the screenshot.

When we checked in detail, our Support Engineers found that there is mismatch in the details given in database with those in zabbix_server configuration file.

We found that the DBName given in database was not the same as the one given in zabbix configuration file. So, we changed it to the right one. Finally, this fixed the error.

We also Checked and confirmed whether all other values entered were right.

Incorrect DBsocket

We got another request from some other customer. However, the error was similar. Here is the error message our customer was receiving.

We checked and found that the socket given in mysql configuration file is different from the one specified in the configuration file for zabbix. In mysql configuration DBSocket value was /var/run/mysql/mysql.sock and in zabbix_server configuration it was DBSocket=/var/run/mysql. So, we made the following corrections in zabbix configuration file:

And this fixed the problem.

[Need any further assistance in fixing zabbix errors? – We’ll help you]

Conclusion

In short, ‘Zabbix cannot connect to the database’ error may occur due to some reasons like wrong database details or when there is any mismatch in configuration file values, etc. Today, we saw how our Support Engineers fix this error.

PREVENT YOUR SERVER FROM CRASHING!

Never again lose customers to poor server speed! Let us help you.

Our server experts will monitor & maintain your server 24/7 so that it remains lightning fast and secure.

Источник

Устраняем типичные ошибки в MySQL

MySQL — система управления базами данных (СУБД) с открытым исходным кодом от компании Oracle. Она была разработана и оптимизирована специально для работы веб-приложений. MySQL является неотъемлемой частью таких веб-сервисов, как Facebook, Twitter, Wikipedia, YouTube и многих других.

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

Не удаётся подключиться к локальному серверу

Одной из распространённых ошибок подключения клиента к серверу является «ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)».

Эта ошибка означает, что на хосте не запущен сервер MySQL ( mysqld ) или вы указали неправильное имя файла сокета Unix или порт TCP/IP при попытке подключения.

Убедитесь, что сервер работает. Проверьте процесс с именем mysqld на хосте сервера, используя команды ps или grep, как показано ниже.

Если эти команды не показывают выходных данных, то сервер БД не работает. Поэтому клиент не может подключиться к нему. Чтобы запустить сервер, выполните команду systemctl.

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

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

Если сервер работает (как показано) и вы по-прежнему видите эту ошибку, вам следует проверить, не заблокирован ли порт TCP/IP брандмауэром или любой другой службой блокировки портов.

Для поиска порта, который прослушивается сервером, используйте команду netstat .

Не удаётся подключиться к серверу MySQL

Ещё одна похожая и часто встречающаяся ошибка подключения — «(2003) Can’t connect to MySQL server on ‘server’ (10061)». Это означает, что в сетевом соединении было отказано.

Следует проверить, работает ли в системе сервер MySQL (смотрите выше) и на тот ли порт вы подключаетесь (как найти порт, можно посмотреть выше).

Похожие частые ошибки, с которыми вы можете столкнуться при попытке подключиться к серверу MySQL:

Ошибки запрета доступа в MySQL

В MySQL учётная запись (УЗ) определяется именем пользователя и клиентским хостом, с которого пользователь может подключиться. УЗ может также иметь данные для аутентификации (например, пароль).

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

В MySQL есть возможность создавать учётные записи, позволяющие пользователям клиентских программ подключаться к серверу и получать доступ к данным. Поэтому при ошибке доступа проверьте разрешение УЗ на подключение к серверу через клиентскую программу.

Увидеть разрешённые привилегии учётной записи можно, выполнив в консоли команду SHOW GRANTS
Входим в консоль (пример для Unix, для Windows консоль можно найти в стартовом меню):

В консоли вводим команду:

Дать привилегии конкретному пользователю в БД по IP-адресу можно, используя следующие команды:

Ошибки запрещённого доступа могут также возникнуть из-за проблем с подключением к MySQL (см. выше).

Потеря соединения с сервером MySQL

С этой ошибкой можно столкнуться по одной из следующих причин:

  • плохое сетевое соединение;
  • истекло время ожидания соединения;
  • размер BLOB больше, чем max_allowed_packet .

В первом случае убедитесь, что у вас стабильное сетевое подключение (особенно, если подключаетесь удалённо).

Если проблема с тайм-аутом соединения (особенно при первоначальном соединении MySQL с сервером), увеличьте значение параметра connect_timeout .

В случае с размером BLOB нужно установить более высокое значение для max_allowed_packet в файле конфигурации /etc/my.cnf в разделах [mysqld] или [client] как показано ниже.

Если файл конфигурации недоступен, это значение можно установить с помощью следующей команды.

Слишком много подключений

Эта ошибка означает, что все доступные соединения используются клиентскими программами. Количество соединений (по умолчанию 151) контролируется системной переменной max_connections . Устранить проблему можно, увеличив значение переменной в файле конфигурации /etc/my.cnf .

Недостаточно памяти

Если такая ошибка возникла, это может означать, что в MySQL недостаточно памяти для хранения всего результата запроса.

Сначала нужно убедиться, что запрос правильный. Если это так, то нужно выполнить одно из следующих действий:

  • если клиент MySQL используется напрямую, запустите его с ключом —quick switch , чтобы отключить кешированные результаты;
  • если вы используете драйвер MyODBC, пользовательский интерфейс (UI) имеет расширенную вкладку с опциями. Отметьте галочкой «Do not cache result» (не кешировать результат).

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

MySQL продолжает «падать»

Если такая проблема возникает, необходимо выяснить, заключается она в сервере или в клиенте. Обратите внимание, что многие сбои сервера вызваны повреждёнными файлами данных или индексными файлами.

Вы можете проверить состояние сервера, чтобы определить, как долго он работал.

Чтобы узнать время безотказной работы сервера, запустите команду mysqladmin .

Кроме того, можно остановить сервер, сделать отладку MySQL и снова запустить службу. Для отображения статистики процессов MySQL во время выполнения других процессов откройте окно командной строки и введите следующее:

Заключение

Самое важное при диагностике — понять, что именно вызвало ошибку. Следующие шаги помогут вам в этом:

  • Первый и самый важный шаг — просмотреть журналы MySQL, которые хранятся в каталоге /var/log/mysql/ . Вы можете использовать утилиты командной строки вроде tail для чтения файлов журнала.
  • Если служба MySQL не запускается, проверьте её состояние с помощью systemctl . Или используйте команду journalctl (с флагом -xe ) в systemd.
  • Вы также можете проверить файл системного журнала (например, /var/log/messages ) на предмет обнаружения ошибок.
  • Попробуйте использовать такие инструменты, как Mytop, glances, top, ps или htop, чтобы проверить, какая программа использует весь ресурс процессора или блокирует машину. Они также помогут определить нехватку памяти, дискового пространства, файловых дескрипторов или какого-либо другого важного ресурса.
  • Если проблема в каком-либо процессе, можно попытаться его принудительно остановить, а затем запустить (при необходимости).
  • Если вы уверены, что проблемы именно на стороне сервера, можете выполнить команды: mysqladmin -u root ping или mysqladmin -u root processlist , чтобы получить от него ответ.
  • Если при подключении проблема не связана с сервером, проверьте, нормально ли работает клиент. Попробуйте получить какие-либо его выходные данные для устранения неполадок.

Источник

Zabbix 5: Database Error — Connection Refused

Zabbix 5: Ошибка базы Данных — Отказано в подключении

Диагностика и исправление ошибки Zabbix 5 с сообщением «Database Error — Connection Refused»

Если вы недавно развернули Zabbix 5 с помощью загружаемого пакета Appliance, а через несколько часов, дней или недель вошли в систему и столкнулись с сообщением «Ошибка базы данных — отказано в подключении», ваше сердце упадет, и ваши планы на день, скорее всего, сорваны. Вся эта работа по его настройке, настройке шаблонов, добавлению хостов и уведомлений о действиях была потрачена впустую… Ужас. Вероятно, вы уже смирились с тем, что вам снова придется потратить целый день на его настройку с нуля… Но подождите! Прежде чем вы это сделаете, читайте дальше, так как возможно, что есть довольно простое решение!

Мы предполагаем, что вы знаете, что такое Hyper-V, что ваша виртуальная машина Linux работает под управлением Hyper-V и что вы запустили свой сервер Zabbix с помощью пакета Microsoft Hyper-V 2012 Zabbix 5 Appliance. Тем не менее, некоторые из остальной части этой статьи могут быть применимы к другим средам, хотя команды Linux могут отличаться для разных операционных систем Linux.

Проблема

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

Проверка причины

Учитывая, что ошибка может быть сгенерирована по целому ряду причин, давайте проверим дисковое пространство и посмотрим, что мы найдем. Откройте Hyper-V Manager, выберите свою виртуальную машину Zabbix и нажмите кнопку Подключиться из списка действий справа. Если компьютер не запущен, нажмите кнопку Пуск и дождитесь его загрузки.

Войдите в виртуальную машину, а теперь давайте проверим свободное место на диске, введя эту команду и нажав enter:

Вы должны увидеть что-то вроде приведенного ниже.

Интересующий нас раздел находится внизу, то есть в выделенном пространстве, в котором хранится база данных MySQL:

/dev/sda5 4.5G 634M 3.9G 14% /var/lib/mysql

В нашем случае наше значение «Use %» равно 14%, но если ваше значение равно или близко к 100%, значит, вы исчерпали выделенное дисковое пространство в 4,5 ГБ, и мы посмотрим, как это исправить дальше. Если ваше значение не близко к 100%, то, скорее всего, ваши проблемы кроются в чем-то другом, и, что ж, мы надеемся, что это не слишком большая головная боль — мы желаем вам удачи!

Удаление логов (журналов)

Если заполнен /dev/sda2, то стоит почистить логи.

В этой папке (/var/log/) можно удалить практически все файлы, но старайтесь сохранить структуру папок, поскольку некоторые приложения после удаления здесь папки не в состоянии создать её второй раз…

На веб-серверах могут разрастись слишком сильно журналы веб-сервера.

Для удаления логов Apache на Debian, Linux Mint, Ubuntu, Kali Linux и их производных:

Для удаления логов Apache на Arch Linux, BlackArch и их производных:

В зависимости от интенсивности использования системы, накопленные журналы могут занимать гигабайты. В зависимости от системы файлы могут называться по-разному, более точный анализ рекомендуется выполнять с помощью утилиты ncdu:

Подготовка к расширению дискового пространства

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

Виртуальная машина должна изящно завершиться. Далее, и это очень важно, сделайте резервную копию виртуальной машины. Каждый раз, когда вы начинаете взаимодействовать с дисковым пространством, это может повлиять на ваши данные. Чтобы было ясно, мы не ожидаем, что во время этого процесса произойдет что-то непредвиденное, но это возможно, поэтому вернитесь в Hyper-V Manager, выберите виртуальную машину, в параметрах действий щелкните правой кнопкой мыши «Экспорт», сохраните это на рабочем столе, а затем переместите с компьютера Windows на резервный диск или сетевая папка. Обратите внимание, что мы не можем использовать контрольные точки для этого, потому что для настройки дискового пространства виртуальной машины нам нужно будет удалить эти контрольные точки.

Увеличение дискового пространства виртуальной машины

Итак, первое, что мы сделаем, это увеличим дисковое пространство виртуальной машины. Это довольно прямолинейно, но мы пройдемся по этому вопросу. Вернитесь в диспетчер Hyper-V и снова убедитесь, что выбрана ваша виртуальная машина. Если у вас есть какие-либо контрольные точки в списке, они не позволят вам редактировать дисковое пространство. Итак, предполагая, что вы уверены, что экспортировали, как указано выше, для резервного копирования вашей виртуальной машины, щелкните правой кнопкой мыши на контрольных точках и выберите «Удалить контрольную точку», пока все они не исчезнут. Затем нажмите «Настройки» прямо под кнопкой «Подключиться» в настройках действий справа. Затем в левой колонке окна настроек при необходимости разверните IDE Controller и выберите «Жесткий диск».:

Нажмите кнопку Редактирования виртуального жесткого диска, и должен запуститься Мастер редактирования виртуального жесткого диска, хотя, возможно, он уже включен в опцию Поиска диска.

Виртуальный жесткий диск, который необходимо настроить, уже выбран.

Теперь нас спрашивают, что мы хотим сделать с виртуальным жестким диском, и, конечно же, мы хотим его расширить, поэтому выберите это и нажмите Далее:

Введите новый размер, который вы хотите, чтобы диск имел, и нажмите кнопку Далее. Мы увеличиваем наши с 10 ГБ до 30 ГБ:

Просмотрите изменения, которые будут внесены, и, если все выглядит хорошо, нажмите Готово, и мы закончим с этой частью!

Настройка Разделов Linux С Помощью GParted Live

Хотя мы увеличили доступное дисковое пространство на виртуальной машине, нам нужно выделить его для нашего раздела, в котором находится база данных MySQL, которая в настоящее время заполнена. Чтобы сделать это, мы будем использовать удобный маленький инструмент под названием GParted Live. На компьютере с Windows, на котором вы работали в Hyper-V Manager, загрузите загрузочный образ GParted Live отсюда. Более чем вероятно, что вам нужен второй в списке, имя файла которого заканчивается amd64.iso для 64-разрядной машины. Если вы используете 32-разрядную машину, то загрузите i686.iso версия.

Мы собираемся использовать этот загрузочный образ для запуска нашей виртуальной машины, а затем настроить ее разделы, поэтому вернитесь в Hyper-V Manager, откройте окно настроек виртуальной машины и в левой колонке разверните IDE Controller 1, если необходимо, и выберите DVD Drive. Как показано ниже, перейдите к файлу изображения, который вы только что загрузили, и выберите его. Последнее, что нужно проверить, — это то, что в левой колонке вверху в настройках BIOS указано «Загрузка с компакт-диска». Если это не так, перейдите туда и настройте его так, чтобы порядок загрузки был следующим: CD, IDE, Устаревший сетевой адаптер, дискета.

Нажмите кнопку ОК в окне настроек и запустите свою виртуальную машину. Теперь вместо загрузки в вашу ОС Linux он загружается с DVD-привода, содержащего программное обеспечение GParted Live. Нажмите enter на этом экране, чтобы выбрать параметр по умолчанию.

Снова просто нажмите enter на следующем экране, касающемся ключевой карты:

Затем вас спросят, какой язык вы предпочитаете. Нажмите enter для английского языка США по умолчанию или введите выбранный вами вариант, а затем нажмите enter.

И, наконец, снова нажмите enter для параметра по умолчанию, когда вас спросят, какой режим вы предпочитаете:

И мы в деле! Вы должны смотреть на что-то похожее на приведенное ниже, хотя ваши номера дискового пространства, скорее всего, будут другими:

На данный момент следует отметить несколько моментов:

Добавленные нами 20 ГБ дискового пространства отображаются как нераспределенные
Раздел, который мы видели при проверке вашего дискового пространства в начале, был /dev / sda5, и мы можем видеть это в этом списке с меткой mysql
Этот раздел является частью /dev / sda4, поэтому нам нужно сначала расширить /dev / sda4, а затем расширить /dev / sda5
Обратите внимание на «0 ожидающих операций» в левом нижнем углу окна — мы будем настраивать действия для разделов, а затем должны будем применить эти действия в конце.
Щелкните правой кнопкой мыши на разделе /dev/sda4 и выберите в меню Изменить размер/Переместить:

Перетащите стрелку вправо до упора вправо или введите максимальное значение размера, указанное в поле Новый размер, и нажмите Изменить размер /Переместить:

Обратите внимание, что теперь у нас есть 1 незавершенная операция в левом нижнем углу. Сделайте то же самое, что и выше, для /dev/sda5. Наконец, в меню Редактирования выберите «Apply All Operations».

Нажмите кнопку Применить в приглашении, чтобы подтвердить действие. Это должно завершиться в течение нескольких секунд, но это будет зависеть от того, что именно вы сделали и насколько велики ваши разделы. Нажмите закрыть в запросе подтверждения завершения и выключите компьютер из меню Действий главного меню виртуальной машины:

После подтверждения запроса на завершение работы вам будет предложено «remove the live-medium» и т.д. — Просто нажмите enter, чтобы продолжить. Теперь снова запустите виртуальную машину, и на этот раз она загрузится с жесткого диска в Zabbix. Как только он загрузится, войдите в систему и давайте снова проверим наши диски с помощью команды:

Теперь вы должны увидеть, что ваш раздел / dev / sda5 увеличился в размере, а ваш «% использования» уменьшился.

Перейдите к интерфейсному адресу вашего сервера Zabbix, и вы сможете войти в систему без проблем!

Как решить похожую проблему на VMWare

Резюме

К счастью, нам не пришлось перестраивать наш сервер Zabbix с нуля, что, как вы, возможно, теперь понимаете, в конечном итоге привело бы к той же проблеме с нехваткой места в этом разделе. Мы надеемся, что это поможет всем, кто использует Zabbix и сталкивается с этой проблемой.

Источник

  1. Can you access to a shell and connect to the zabbix database directly ?
  2. In your configuration files, it seems that you use PostgreSQL.
    It is written that you have to indicate the DBSchema variable if you use PostgreSQL.

    However you didn’t declare it.

answered Jul 13, 2018 at 23:57

Pitou's user avatar

PitouPitou

263 bronze badges

In your case, the password should be in quotation marks: DBPassword="zabbix"

answered Feb 14, 2020 at 6:49

4ndy's user avatar

4ndy4ndy

5401 gold badge7 silver badges22 bronze badges

I faced the same problem. It is resolved by changing «Database host» from localhost to 127.0.0.1 in DB connection and changing the pg_hba.conf as below

host    all             all             127.0.0.1/32            password

Zabbix GUI

answered Sep 21, 2021 at 17:33

Vikki's user avatar

VikkiVikki

12 bronze badges

I have same problem with Centos+Postgre+Zabbix stack. And problem was with ident auth:

  1. You need go to /var/lib/pgsql/data/pg_hba.conf (default path)
  2. and change ident in this:

host all all 127.0.0.1/32 ident

host all all ::1/128 ident

to md5

  1. After this restart postgresql service and you can check connection by command:

    psql -h localhost -U <your_zabbixdb_user> <your_zabbix_db>

answered Dec 15, 2022 at 11:47

Артем Заболотский's user avatar

На чтение 9 мин Просмотров 1.9к. Опубликовано 18.04.2022

Содержание

  1. Zabbix 5: Ошибка базы Данных — Отказано в подключении
  2. Диагностика и исправление ошибки Zabbix 5 с сообщением «Database Error — Connection Refused»
  3. Проблема
  4. Проверка причины
  5. Удаление логов (журналов)
  6. Подготовка к расширению дискового пространства
  7. Увеличение дискового пространства виртуальной машины
  8. Настройка Разделов Linux С Помощью GParted Live
  9. Как решить похожую проблему на VMWare
  10. Резюме

Zabbix 5: Ошибка базы Данных — Отказано в подключении

Диагностика и исправление ошибки Zabbix 5 с сообщением «Database Error — Connection Refused»

Если вы недавно развернули Zabbix 5 с помощью загружаемого пакета Appliance, а через несколько часов, дней или недель вошли в систему и столкнулись с сообщением «Ошибка базы данных — отказано в подключении», ваше сердце упадет, и ваши планы на день, скорее всего, сорваны. Вся эта работа по его настройке, настройке шаблонов, добавлению хостов и уведомлений о действиях была потрачена впустую… Ужас. Вероятно, вы уже смирились с тем, что вам снова придется потратить целый день на его настройку с нуля… Но подождите! Прежде чем вы это сделаете, читайте дальше, так как возможно, что есть довольно простое решение!

Мы предполагаем, что вы знаете, что такое Hyper-V, что ваша виртуальная машина Linux работает под управлением Hyper-V и что вы запустили свой сервер Zabbix с помощью пакета Microsoft Hyper-V 2012 Zabbix 5 Appliance. Тем не менее, некоторые из остальной части этой статьи могут быть применимы к другим средам, хотя команды Linux могут отличаться для разных операционных систем Linux.

Проблема

Если вы входите на свой сервер Zabbix с внешнего интерфейса и сталкиваетесь с сообщением ниже, это может быть по целому ряду причин, но если все остальное работало нормально ранее, то это скорее всего означает, что у вас закончилось дисковое пространство на разделе, хранящем базу данных MySQL в Linux окружении.Zabbix 5: Database Error - Connection Refused

Проверка причины

Учитывая, что ошибка может быть сгенерирована по целому ряду причин, давайте проверим дисковое пространство и посмотрим, что мы найдем. Откройте Hyper-V Manager, выберите свою виртуальную машину Zabbix и нажмите кнопку Подключиться из списка действий справа. Если компьютер не запущен, нажмите кнопку Пуск и дождитесь его загрузки.

Zabbix 5: Database Error - Connection Refused

Войдите в виртуальную машину, а теперь давайте проверим свободное место на диске, введя эту команду и нажав enter:

df -h

Вы должны увидеть что-то вроде приведенного ниже.

Zabbix 5: Database Error - Connection Refused

Интересующий нас раздел находится внизу, то есть в выделенном пространстве, в котором хранится база данных MySQL:

/dev/sda5 4.5G 634M 3.9G 14% /var/lib/mysql

В нашем случае наше значение «Use %» равно 14%, но если ваше значение равно или близко к 100%, значит, вы исчерпали выделенное дисковое пространство в 4,5 ГБ, и мы посмотрим, как это исправить дальше. Если ваше значение не близко к 100%, то, скорее всего, ваши проблемы кроются в чем-то другом, и, что ж, мы надеемся, что это не слишком большая головная боль — мы желаем вам удачи!

Удаление логов (журналов)

Если заполнен /dev/sda2, то стоит почистить логи.

В этой папке (/var/log/) можно удалить практически все файлы, но старайтесь сохранить структуру папок, поскольку некоторые приложения после удаления здесь папки не в состоянии создать её второй раз…

На веб-серверах могут разрастись слишком сильно журналы веб-сервера.

Для удаления логов Apache на Debian, Linux Mint, Ubuntu, Kali Linux и их производных:

sudo rm -rf /var/log/apache2/*

Для удаления логов Apache на Arch Linux, BlackArch и их производных:

sudo rm -rf /var/log/httpd/*

Чтобы сервер начал создавать новые файлы журналов и записывать в них, нужно перезапустить службу веб-сервера.

В зависимости от интенсивности использования системы, накопленные журналы могут занимать гигабайты. В зависимости от системы файлы могут называться по-разному, более точный анализ рекомендуется выполнять с помощью утилиты ncdu:

Подготовка к расширению дискового пространства

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

poweroff

Виртуальная машина должна изящно завершиться. Далее, и это очень важно, сделайте резервную копию виртуальной машины. Каждый раз, когда вы начинаете взаимодействовать с дисковым пространством, это может повлиять на ваши данные. Чтобы было ясно, мы не ожидаем, что во время этого процесса произойдет что-то непредвиденное, но это возможно, поэтому вернитесь в Hyper-V Manager, выберите виртуальную машину, в параметрах действий щелкните правой кнопкой мыши «Экспорт», сохраните это на рабочем столе, а затем переместите с компьютера Windows на резервный диск или сетевая папка. Обратите внимание, что мы не можем использовать контрольные точки для этого, потому что для настройки дискового пространства виртуальной машины нам нужно будет удалить эти контрольные точки.

Zabbix 5: Database Error - Connection Refused

Увеличение дискового пространства виртуальной машины

Итак, первое, что мы сделаем, это увеличим дисковое пространство виртуальной машины. Это довольно прямолинейно, но мы пройдемся по этому вопросу. Вернитесь в диспетчер Hyper-V и снова убедитесь, что выбрана ваша виртуальная машина. Если у вас есть какие-либо контрольные точки в списке, они не позволят вам редактировать дисковое пространство. Итак, предполагая, что вы уверены, что экспортировали, как указано выше, для резервного копирования вашей виртуальной машины, щелкните правой кнопкой мыши на контрольных точках и выберите «Удалить контрольную точку», пока все они не исчезнут. Затем нажмите «Настройки» прямо под кнопкой «Подключиться» в настройках действий справа. Затем в левой колонке окна настроек при необходимости разверните IDE Controller и выберите «Жесткий диск».:

Zabbix 5: Database Error - Connection Refused

Нажмите кнопку Редактирования виртуального жесткого диска, и должен запуститься Мастер редактирования виртуального жесткого диска, хотя, возможно, он уже включен в опцию Поиска диска.

Zabbix 5: Database Error - Connection Refused

Виртуальный жесткий диск, который необходимо настроить, уже выбран.

Zabbix 5: Database Error - Connection Refused

Теперь нас спрашивают, что мы хотим сделать с виртуальным жестким диском, и, конечно же, мы хотим его расширить, поэтому выберите это и нажмите Далее:

Zabbix 5: Database Error - Connection Refused

Введите новый размер, который вы хотите, чтобы диск имел, и нажмите кнопку Далее. Мы увеличиваем наши с 10 ГБ до 30 ГБ:

Zabbix 5: Database Error - Connection Refused

Просмотрите изменения, которые будут внесены, и, если все выглядит хорошо, нажмите Готово, и мы закончим с этой частью!

Настройка Разделов Linux С Помощью GParted Live

Хотя мы увеличили доступное дисковое пространство на виртуальной машине, нам нужно выделить его для нашего раздела, в котором находится база данных MySQL, которая в настоящее время заполнена. Чтобы сделать это, мы будем использовать удобный маленький инструмент под названием GParted Live. На компьютере с Windows, на котором вы работали в Hyper-V Manager, загрузите загрузочный образ GParted Live отсюда. Более чем вероятно, что вам нужен второй в списке, имя файла которого заканчивается amd64.iso для 64-разрядной машины. Если вы используете 32-разрядную машину, то загрузите i686.iso версия.

Мы собираемся использовать этот загрузочный образ для запуска нашей виртуальной машины, а затем настроить ее разделы, поэтому вернитесь в Hyper-V Manager, откройте окно настроек виртуальной машины и в левой колонке разверните IDE Controller 1, если необходимо, и выберите DVD Drive. Как показано ниже, перейдите к файлу изображения, который вы только что загрузили, и выберите его. Последнее, что нужно проверить, — это то, что в левой колонке вверху в настройках BIOS указано «Загрузка с компакт-диска». Если это не так, перейдите туда и настройте его так, чтобы порядок загрузки был следующим: CD, IDE, Устаревший сетевой адаптер, дискета.

Zabbix 5: Database Error - Connection Refused

Нажмите кнопку ОК в окне настроек и запустите свою виртуальную машину. Теперь вместо загрузки в вашу ОС Linux он загружается с DVD-привода, содержащего программное обеспечение GParted Live. Нажмите enter на этом экране, чтобы выбрать параметр по умолчанию.

Zabbix 5: Database Error - Connection Refused

Снова просто нажмите enter на следующем экране, касающемся ключевой карты:

Zabbix 5: Database Error - Connection Refused

Затем вас спросят, какой язык вы предпочитаете. Нажмите enter для английского языка США по умолчанию или введите выбранный вами вариант, а затем нажмите enter.

Zabbix 5: Database Error - Connection Refused

И, наконец, снова нажмите enter для параметра по умолчанию, когда вас спросят, какой режим вы предпочитаете:

Zabbix 5: Database Error - Connection Refused

И мы в деле! Вы должны смотреть на что-то похожее на приведенное ниже, хотя ваши номера дискового пространства, скорее всего, будут другими:

Zabbix 5: Database Error - Connection Refused

На данный момент следует отметить несколько моментов:

Добавленные нами 20 ГБ дискового пространства отображаются как нераспределенные
Раздел, который мы видели при проверке вашего дискового пространства в начале, был /dev / sda5, и мы можем видеть это в этом списке с меткой mysql
Этот раздел является частью /dev / sda4, поэтому нам нужно сначала расширить /dev / sda4, а затем расширить /dev / sda5
Обратите внимание на «0 ожидающих операций» в левом нижнем углу окна — мы будем настраивать действия для разделов, а затем должны будем применить эти действия в конце.
Щелкните правой кнопкой мыши на разделе /dev/sda4 и выберите в меню Изменить размер/Переместить:

Zabbix 5: Database Error - Connection Refused

Перетащите стрелку вправо до упора вправо или введите максимальное значение размера, указанное в поле Новый размер, и нажмите Изменить размер /Переместить:

Zabbix 5: Database Error - Connection Refused

Обратите внимание, что теперь у нас есть 1 незавершенная операция в левом нижнем углу. Сделайте то же самое, что и выше, для /dev/sda5. Наконец, в меню Редактирования выберите «Apply All Operations».

Zabbix 5: Database Error - Connection Refused

Нажмите кнопку Применить в приглашении, чтобы подтвердить действие. Это должно завершиться в течение нескольких секунд, но это будет зависеть от того, что именно вы сделали и насколько велики ваши разделы. Нажмите закрыть в запросе подтверждения завершения и выключите компьютер из меню Действий главного меню виртуальной машины:

Zabbix 5: Database Error - Connection Refused

После подтверждения запроса на завершение работы вам будет предложено «remove the live-medium» и т.д. — Просто нажмите enter, чтобы продолжить. Теперь снова запустите виртуальную машину, и на этот раз она загрузится с жесткого диска в Zabbix. Как только он загрузится, войдите в систему и давайте снова проверим наши диски с помощью команды:

df -h

Теперь вы должны увидеть, что ваш раздел / dev / sda5 увеличился в размере, а ваш «% использования» уменьшился.

Zabbix 5: Database Error - Connection Refused

Перейдите к интерфейсному адресу вашего сервера Zabbix, и вы сможете войти в систему без проблем!

Как решить похожую проблему на VMWare

Резюме

К счастью, нам не пришлось перестраивать наш сервер Zabbix с нуля, что, как вы, возможно, теперь понимаете, в конечном итоге привело бы к той же проблеме с нехваткой места в этом разделе. Мы надеемся, что это поможет всем, кто использует Zabbix и сталкивается с этой проблемой.

Понравилась статья? Поделить с друзьями:
  • Cannot complete your request ошибка citrix
  • Cannot complete the device driver installation wizard как исправить
  • Cannot communicate with server error
  • Cannot bulk load because the file could not be opened operating system error code 5
  • Cannot boot from cd code 5 как исправить