Ошибка libmysqlclient.so.21 в VMBitrix 9 после обновления MySQL до 8.4

    После обновления MySQL до версии 8.4 в VMBitrix 9 задания из pool перестали работать и завершаются с ошибкой. Например, при создании сайта через меню 8-> create site возникает следующая ошибка:

    install_driver(mysql) failed: Can't load '/usr/lib64/perl5/vendor_perl/auto/DBD/mysql/mysql.so' for module DBD::mysql: libmysqlclient.so.21: cannot open shared object file: No such file or directory

    При проверке библиотек командой ldconfig -p | grep libmysqlclient обнаруживается версия libmysqlclient.so.24, в то время как система ожидает libmysqlclient.so.21. Сами сайты при этом работают без ошибок.

    Причина

    • Модуль Perl DBD::mysql скомпилирован для библиотеки libmysqlclient.so.21, которая отсутствует в системе после обновления MySQL.
    • Вместо неё присутствует версия libmysqlclient.so.24, что вызывает ошибку загрузки модуля.

    Решение

    Создайте символическую ссылку с версией .21 на существующую библиотеку .24. Выполните команду от root:

    ln -sf /usr/lib64/mysql/libmysqlclient.so.24 /usr/lib64/libmysqlclient.so.21

    После этого проверьте, что библиотека доступна:

    ldconfig -p | grep libmysqlclient.so.21

    Если необходимо, перезапустите соответствующие сервисы (например, systemctl restart httpd или systemctl restart nginx).

    Примечание: Данное исправление носит временный характер. Для полного устранения проблемы рекомендуется обновить модуль DBD::mysql до версии, совместимой с MySQL 8.4, или дождаться официального обновления VMBitrix.