Рейтинг:1

/usr/sbin/mysqld: ошибка при загрузке общих библиотек: liblz4.so.1: невозможно открыть общий объектный файл: нет такого файла или каталога

флаг ng
p2@P2:~$sudo systemctl перезапустить mariadb
Задание для mariadb.service завершилось неудачно, так как процесс управления завершился с кодом ошибки.
Подробности смотрите в "systemctl status mariadb.service" и "journalctl -xe".
p2@P2:~$sudo systemctl статус mariadb
mariadb.service — сервер базы данных MariaDB 10.3.31
     Загружено: загружено (/lib/systemd/system/mariadb.service; включено; предустановка поставщика: включена)
    Вставка: /etc/systemd/system/mariadb.service.d
Активно: сбой (результат: код выхода) с пятницы 13 августа 2021 г. 15:13:46 CEST; 5 минут назад
       Документы: man:mysqld(8)
             https://mariadb.com/kb/en/library/systemd/
    Процесс: 313918 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
    Процесс: 313919 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (код=выход, статус=0/УСПЕХ)
    Процесс: 313921 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= || VAR=`cd /usr/bin/..; /usr/bin/galera_recovery`; [$? -eq 0 ] && systemctl set-environment _WSRE>
    Процесс: 313968 ExecStart=/usr/sbin/mysqld $MYSQLD_OPTS $_WSREP_NEW_CLUSTER $_WSREP_START_POSITION (код=выход, статус=127)
   Основной PID: 313968 (код=выход, статус=127)

srp 13 15:13:46 P2 systemd[1]: запуск сервера базы данных MariaDB 10.3.31...
srp 13 15:13:46 P2 mysqld[313968]: /usr/sbin/mysqld: ошибка при загрузке общих библиотек: liblz4.so.1: невозможно открыть общий объектный файл: нет такого файла или каталога
srp 13 15:13:46 P2 systemd[1]: mariadb.service: основной процесс завершен, код = завершен, статус = 127/н/д
srp 13 15:13:46 P2 systemd[1]: mariadb.service: Ошибка с результатом «код выхода».
srp 13 15:13:46 P2 systemd[1]: не удалось запустить сервер базы данных MariaDB 10.3.31.

srp 13 15:13:46 P2 mysqld[313968]: /usr/sbin/mysqld: ошибка при загрузке общих библиотек: liblz4.so.1: невозможно открыть общий объектный файл: нет такого файла или каталога

Итак, mariaDB не может найти библиотеку liblz4-1. Однако:

Пакет liblz4-1 установлен и обновлен.liblz4.so.1 установлен в /lib/x86_64-linux-gnu/liblz4.so.1

Если мы запустим mariaDB отдельно:

p2@P2:~$ /usr/sbin/mysqld
/usr/sbin/mysqld: ошибка при загрузке общих библиотек: liblz4.so.1: невозможно открыть общий объектный файл: нет такого файла или каталога

Но если мы запустим ldd на mariaDB, чтобы найти необходимые библиотеки:

p2@P2:~$ ldd /usr/sbin/mysqld
    линукс-vdso.so.1 (0x00007ffe322c0000)
    liblz4.so.1 => /lib/x86_64-linux-gnu/liblz4.so.1 (0x00007fa0406cd000)
    libsnappy.so.1 => /lib/x86_64-linux-gnu/libsnappy.so.1 (0x00007fa0406c2000)
    libaio.so.1 => /lib/x86_64-linux-gnu/libaio.so.1 (0x00007fa0406bd000)
    libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fa0406a1000)
    libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007fa04062e000)
    libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007fa0405f3000)
    libsystemd.so.0 => /lib/x86_64-linux-gnu/libsystemd.so.0 (0x00007fa040542000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fa04053c000)
    libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fa04035a000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fa04020b000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fa0401e8000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fa03fff6000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fa03ffd9000)
    librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fa03ffce000)
    liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007fa03ffa5000)
    libgcrypt.so.20 => /lib/x86_64-linux-gnu/libgcrypt.so.20 (0x00007fa03fe87000)
    /lib64/ld-linux-x86-64.so.2 (0x00007fa0423ec000)
    libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0 (0x00007fa03fe64000)

лдд может найди библиотеку! (Если бы это было невозможно, выводилось бы liblz4.so.1 => not found)

Итак, что вызывает эту ошибку и как запустить mariaDB?

Дополнительное примечание: некоторые очень глубокие исследования в Интернете показали, что эта проблема май быть из-за отсутствия / поломки загрузчик библиотек. Однако я подозреваю, что данный совет устарел, поскольку их проблемы вызваны моими многочисленными архитектурами, а пакеты в моей системе являются 64-битными. Кроме того, загрузчики, на которые они ссылаются, не существуют в моем дистрибутиве.

Кроме того, я использую Ubuntu 20.04.2 LTS.

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

find / -name "liblz4.so*" -type f 2> /dev/null | xargs sha256sum
536ab2f5d4448fd1ff62d43b99ece092ec7824b083af7c7007bb0889353d2777 /snap/snap-store/542/usr/lib/x86_64-linux-gnu/liblz4.so.1.7.1
536ab2f5d4448fd1ff62d43b99ece092ec7824b083af7c7007bb0889353d2777 /snap/snap-store/547/usr/lib/x86_64-linux-gnu/liblz4.so.1.7.1
c619a6d991c87ec2967b2b0c417ae5a9b86a76f11396ff5492947b4f637369db /snap/snapd/12704/usr/lib/x86_64-linux-gnu/liblz4.so.1.7.1
c619a6d991c87ec2967b2b0c417ae5a9b86a76f11396ff5492947b4f637369db /snap/snapd/12398/usr/lib/x86_64-linux-gnu/liblz4.so.1.7.1
c619a6d991c87ec2967b2b0c417ae5a9b86a76f11396ff5492947b4f637369db /snap/core/11420/usr/lib/x86_64-linux-gnu/liblz4.so.1.7.1
c619a6d991c87ec2967b2b0c417ae5a9b86a76f11396ff5492947b4f637369db /snap/core/11316/usr/lib/x86_64-linux-gnu/liblz4.so.1.7.1
536ab2f5d4448fd1ff62d43b99ece092ec7824b083af7c7007bb0889353d2777 /snap/core18/2128/usr/lib/x86_64-linux-gnu/liblz4.so.1.7.1
536ab2f5d4448fd1ff62d43b99ece092ec7824b083af7c7007bb0889353d2777 /snap/core18/2074/usr/lib/x86_64-linux-gnu/liblz4.so.1.7.1
d6574e34006e27cfb5d00dc75018cc06832d0bbc9e1b35316b9c03148355f0a0 /usr/lib/x86_64-linux-gnu/liblz4.so.1.9.2
флаг hr
Что показывает `ls -l /lib/x86_64-linux-gnu/liblz4.so.1`? это должна быть символическая ссылка. Он сломан?
psaniac avatar
флаг ng
Он показывает, что это символическая ссылка на liblz4.so.1.9.2 в том же каталоге. Я не вижу там никаких ошибок.
N0rbert avatar
флаг zw
Пожалуйста, запустите `find / -name "liblz4.so*" -type f | xargs sha256sum` и добавьте результат в тело вопроса. На новой виртуальной машине 20.04 LTS со всеми обновлениями у меня есть `d6574e34006e27cfb5d00dc75018cc06832d0bbc9e1b35316b9c03148355f0a0 /usr/lib/x86_64-linux-gnu/liblz4.so.1.9.2`.
psaniac avatar
флаг ng
Я отредактировал свой пост, но контрольная сумма такая же, как и у вас. Я думаю, что если бы библиотека была повреждена, она не выдавала бы ошибку «Нет такого файла или каталога».
Рейтинг:0
флаг in

Это AppArmor, раздражающе говорит "Нет такого файла или каталога". Этот ответ исправил это для меня на Ubuntu 20.04 LTS (сервер): https://stackoverflow.com/a/60423057/539198

Это сработало для меня: -

sudo ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/

sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld

Однако он также отключает AppArmor для MySQL в системе.

Получил из этого выпуска

Рейтинг:0
флаг ru

Чтобы удалить mariadb из брони приложения, это сработало для меня.

Чтобы решить проблему, найдите mysqld в выводе состояния брони приложения:

$ sudo аа-статус

Затем выполните следующие шаги, чтобы удалить mysqld из брони приложения:

$ echo "/usr/sbin/mysqld { }" | sudo тройник /etc/apparmor.d/usr.sbin.mysqld
$ sudo apparmor_parser -v -R /etc/apparmor.d/usr.sbin.mysqld
$ sudo systemctl перезапустить mariadb

Ответить или комментировать

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