Ad Widget

Collapse

Виртуалка с zabbix не грузиться из за ошибки в базе данных Mysql

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • nom77
    Member
    • Mar 2017
    • 34

    #1

    Виртуалка с zabbix не грузиться из за ошибки в базе данных Mysql

    Zabbix 6.2 стоит на виртуалке Vmware
    OC Centos БД Mysql
    Основная хост система Windows 11

    Образ zabbix для vmware качал c официального сайта
    Компьютер незапланированно выключился, стол с регулируемой высотой вырвал провод питания из розетки
    При загрузке Windows 11 обновилась

    В результате при заходе на сайт с заббикс вижу

    Database error
    • Connection refused

    логи mysql

    /usr/libexec/mysqld(my_print_stacktrace(unsigned char const*, unsigned long)+0x41) [0x55fbc0372d91]
    0000/usr/libexec/mysqld(print_fatal_signal(int)+0x30b) [0x55fbbf3d095b]
    00/usr/libexec/mysqld(my_server_abort()+0x76) [0x55fbbf3d0a86]
    00/usr/libexec/mysqld(my_abort()+0xe) [0x55fbc036cd7e]
    0000/usr/libexec/mysqld(ut_dbg_assertion_failed(char const*, char const*, unsigned long)+0x32a) [0x55fbc05c507a]
    00/usr/libexec/mysqld(+0x2258a9d) [0x55fbc0489a9d]
    00/usr/libexec/mysqld(recv_recover_page_func(bool, buf_block_t*)+0x607) [0x55fbc048cd67]
    00/usr/libexec/mysqld(buf_page_io_complete(buf_page_t*, bool)+0x83c) [0x55fbc06310dc]
    00/usr/libexec/mysqld(fil_aio_wait(unsigned long)+0x14b) [0x55fbc073679b]
    00/usr/libexec/mysqld(+0x232fd08) [0x55fbc0560d08]
    000000/usr/libexec/mysqld(std::thread::_State_impl<std::thread::_Invo ker<std::tuple<Detached_thread, void (*)(unsigned long), unsigned long> > >::_M_run()+0xc8) [0x55fbc0560f18]
    00/lib64/libstdc++.so.6(+0xc2ba3) [0x7f696bb2fba3]
    00/lib64/libpthread.so.0(+0x81cf) [0x7f69700d11cf]
    00/lib64/libc.so.6(clone+0x43) [0x7f696b146e73]
    000000000000000000The manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains
    information that should help you find out what is causing the crash.
    00000000000000000000000000000000000000


    [root@appliance ~]# df -h
    Filesystem Size Used Avail Use% Mounted on
    devtmpfs 1.9G 0 1.9G 0% /dev
    tmpfs 2.0G 0 2.0G 0% /dev/shm
    tmpfs 2.0G 17M 1.9G 1% /run
    tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
    /dev/sda2 4.0G 1.2G 2.9G 30% /
    /dev/sda5 4.5G 2.2G 2.4G 48% /var/lib/mysql
    /dev/sda3 1014M 40M 975M 4% /tmp
    /dev/sda1 488M 50M 403M 11% /boot
    tmpfs 393M 0 393M 0% /run/user/0


    Что делать ?​​
    Last edited by nom77; 20-04-2023, 12:24.
  • jennyfoster
    Junior Member
    • Apr 2023
    • 5

    #2
    The unplanned power outage may have caused the MySQL database used by Zabbix to become corrupted, resulting in the "database error" message you are seeing when you try to access the Zabbix site.

    To fix this issue, you may need to try the following steps: Check the status of the MySQL service on the AlmaLinux virtual machine and make sure it is running.Check the MySQL error logs for any error messages related to the database corruption.If the database is corrupted, you may need to restore it from a backup if you have one. If not, you may need to try to repair the database using the MySQL repair tool.Once the database is restored or repaired, try restarting the Zabbix server and accessing the site again.

    If these steps do not resolve the issue, you may need to seek further assistance from the Zabbix community or support team.
    Last edited by jennyfoster; 21-04-2023, 05:55.

    Comment

    • nom77
      Member
      • Mar 2017
      • 34

      #3
      Originally posted by jennyfoster
      Check the status of the MySQL service
      Он не запущен

      MySQL repair tool
      Скажите какие именно искать, то что я попробовал не работает

      Да я ошибся у меня стоит не AlmaLinux, а Centos

      Comment

      • nom77
        Member
        • Mar 2017
        • 34

        #4
        [root@appliance ~]# systemctl status mysqld.service
        ● mysqld.service - MySQL 8.0 database server
        Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
        Drop-In: /etc/systemd/system/mysqld.service.d
        └─override.conf
        Active: failed (Result: exit-code) since Thu 2023-04-20 19:49:06 +07; 26s ago
        Process: 2329 ExecStopPost=/usr/libexec/mysql-wait-stop (code=exited, status=0/SUCCESS)
        Process: 2307 ExecStart=/usr/libexec/mysqld --basedir=/usr (code=exited, status=2)
        Process: 2270 ExecStartPre=/usr/libexec/mysql-prepare-db-dir mysqld.service (code=exited, status=0/SUCCESS)
        Process: 2244 ExecStartPre=/usr/libexec/mysql-check-socket (code=exited, status=0/SUCCESS)
        Main PID: 2307 (code=exited, status=2)
        Status: "Server startup in progress"

        Apr 20 19:49:06 appliance systemd[1]: mysqld.service: Service RestartSec=100ms expired, scheduling restart.
        Apr 20 19:49:06 appliance systemd[1]: mysqld.service: Scheduled restart job, restart counter is at 5.
        Apr 20 19:49:06 appliance systemd[1]: Stopped MySQL 8.0 database server.
        Apr 20 19:49:06 appliance systemd[1]: mysqld.service: Start request repeated too quickly.
        Apr 20 19:49:06 appliance systemd[1]: mysqld.service: Failed with result 'exit-code'.
        Apr 20 19:49:06 appliance systemd[1]: Failed to start MySQL 8.0 database server.

        Comment

        • nom77
          Member
          • Mar 2017
          • 34

          #5
          Получилось все решить c помощью на другом форуме
          OC AlmaLinux 8.7 БД MySQL 8.0 Комп выключился, так как пропало электро питание, mysql не загружается, все стояло на vmware worksation. Как проще всего восстановить базу? готов потерять записи хоть за сутки или больше, главное настройки бы вытащить. Н...

          Надо что то делать с такими сбоями забисксу, я уже был близок удалить все и создать базу заново
          Пропадание питания и внезапная перезагрузка не такое уж и редкое явление я думаю

          Подытожу: Дамп сделал игнорируя таблицу history
          1) На серваке со старым заббикс


          mysqldump -v -hlocalhost -p –ignore-table=zabbix.history zabbix > /tmp/dump311111111111.sql

          В конфиге /etc/my.cnf.d/mysql-server.cnf Были добавлены строки
          innodb_force_recovery = 6
          skip-grant-tables


          innodb_force_recovery = 6 чтобы вообще Mysql запускался с другой цифрой кроме 6 не запускался, я думал что их всего 5, а потом нашел статью где еще и про 6 говорят, вот так мне повезло. skip-grant-tables чтобы под любым пользователем делался дамп, не знаю какой пользователь нужен но ни под каким не получалось сделать дамп без этой опции в конфиге.

          В конфиге /etc/my.cnf Обязательно добавить новую строку после !includedir /etc/my.cnf.d

          Чтобы весь файл выглядел например так
          #
          # This group is read both both by the client and the server
          # use it for options that affect everything
          #
          [client-server]

          #
          # include all files from the config directory
          #
          !includedir /etc/my.cnf.d
          #


          Иначе не работает, mysql не стартует Так же добавил пустой файл my.cnf. С точкой в конце в каталог etc в логе ошибок что то про него писало, но возможно это и не надо.
          2) На серваке с новым заббикс


          Восстановил дамп на виртуалке с работающим заббиксом, только версия была чуть новее, моя исчезла с офф сайта и не понятно где бы я ее искал Моя старая виртуалка zabbix_appliance-6.2.7-vmx Восстановил все в zabbix_appliance-6.2.9-vmx Вывод надо сохранять архив с чистой виртуалкой заббикс)

          mysql -uzabbix -p zabbix< /tmp/dump311111111111.sql

          В конфиге /etc/my.cnf.d/mysql-server.cnf Так же добавить строку skip-grant-tables
          [mysqld]
          skip-grant-tables


          Не знаю важно это делать под [mysqld] или нет, пишу как у меня получилось

          Потом все восстановилось сразу, кроме истории показаний с датчиков так как таблицу history я не восстанавливал и мониторинг сразу заработал опять Была ошибка с русским языком, надо было в консоле поставить dnf install glibc-langpack-ru И сделать Reboot

          А потом я еще подумал и востановил таблицу History из первого дампа который я делал не игнорируя эту таблицу Там сначала идет дроп тейбл и потом инсерт, то есть текущие записи теряются, по идее может можно сделать просто инсерт без дропа таблицы mysql -uzabbix -p zabbix< /tmp/dump.sql Пасс ввел zabbix хотя по моему такого пользователя и пароля вообще нет, но skip-grant-tables полагаю решает)

          И о чудо все восстановилось, я получил все свои данные) скорее всего прямо до момента краха. Да еще надо сменить ип адрес сервака с заббикс на старый, потому что часть оборудования само посылает данные и там забит старый ип, тоже долго не мог понять почему половина оборудования не мониторится.
          Last edited by nom77; 24-04-2023, 13:34.

          Comment

          Working...