Puncte:1

/usr/sbin/mysqld: eroare la încărcarea bibliotecilor partajate: liblz4.so.1: nu se poate deschide fișierul obiect partajat: nu există un astfel de fișier sau director

drapel ng
p2@P2:~$sudo systemctl restart mariadb
Lucrarea pentru mariadb.service a eșuat deoarece procesul de control a ieșit cu cod de eroare.
Consultați „systemctl status mariadb.service” și „journalctl -xe” pentru detalii.
p2@P2:~$sudo systemctl status mariadb
mariadb.service - server de baze de date MariaDB 10.3.31
     Încărcat: încărcat (/lib/systemd/system/mariadb.service; activat; prestabilit furnizor: activat)
    Drop-in: /etc/systemd/system/mariadb.service.d
Activ: eșuat (Rezultat: cod de ieșire) din vineri 2021-08-13 15:13:46 CEST; acum 5 minute
       Documente: man:mysqld(8)
             https://mariadb.com/kb/en/library/systemd/
    Proces: 313918 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
    Proces: 313919 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (cod=exit, status=0/SUCCESS)
    Proces: 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>
    Proces: 313968 ExecStart=/usr/sbin/mysqld $MYSQLD_OPTS $_WSREP_NEW_CLUSTER $_WSREP_START_POSITION (cod=ieșit, stare=127)
   PID principal: 313968 (cod=ieșit, stare=127)

srp 13 15:13:46 P2 systemd[1]: Se pornește serverul de baze de date MariaDB 10.3.31...
srp 13 15:13:46 P2 mysqld[313968]: /usr/sbin/mysqld: eroare la încărcarea bibliotecilor partajate: liblz4.so.1: nu se poate deschide fișierul obiect partajat: nu există un astfel de fișier sau director
srp 13 15:13:46 P2 systemd[1]: mariadb.service: Proces principal ieșit, cod=ieșit, stare=127/n/a
srp 13 15:13:46 P2 systemd[1]: mariadb.service: Eșuat cu rezultatul „cod de ieșire”.
srp 13 15:13:46 P2 systemd[1]: Nu s-a pornit serverul de baze de date MariaDB 10.3.31.

srp 13 15:13:46 P2 mysqld[313968]: /usr/sbin/mysqld: eroare la încărcarea bibliotecilor partajate: liblz4.so.1: nu se poate deschide fișierul obiect partajat: nu există un astfel de fișier sau director

Bine, deci mariaDB nu poate găsi biblioteca liblz4-1. In orice caz:

Pachetul liblz4-1 este instalat și actualizat.liblz4.so.1 este instalat la /lib/x86_64-linux-gnu/liblz4.so.1

Dacă rulăm mariaDB de la sine:

p2@P2:~$ /usr/sbin/mysqld
/usr/sbin/mysqld: eroare la încărcarea bibliotecilor partajate: liblz4.so.1: nu se poate deschide fișierul obiect partajat: nu există un astfel de fișier sau director

Dar dacă rulăm ldd pe mariaDB pentru a găsi bibliotecile necesare:

p2@P2:~$ ldd /usr/sbin/mysqld
    linux-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)

ldd poate sa gasesti biblioteca! (Dacă nu ar putea, ar scoate liblz4.so.1 => negăsit)

Bine, deci ce cauzează această eroare și cum fac să ruleze mariaDB?

Notă suplimentară: unele scufundări foarte adânci pe internet au dezvăluit că această problemă Mai se datorează unei lipsă/rupturi încărcător de bibliotecă. Cu toate acestea, bănuiesc că sfaturile date sunt depășite, deoarece problemele lor sunt cauzate de arhitecturile mele multiple, iar pachetele din sistemul meu sunt pe 64 de biți. De asemenea, încărcătoarele la care se referă nu există pe distribuția mea.

De asemenea, folosesc Ubuntu 20.04.2 LTS.

editați: sume de verificare a bibliotecii

găsiți / -name "liblz4.so*" -type f 2> /dev/null | xargs sha256sum
536ab2f5d4448fd1ff62d43b99ece092ec7824b083af7c7007bb0889353d2777 /snap/snap-store/542/usr/lib/x86_64-linux-gnu/liblz4.1.
536ab2f5d4448fd1ff62d43b99ece092ec7824b083af7c7007bb0889353d2777 /snap/snap-store/547/usr/lib/x86_64-linux-gnu/liblz4.1.
c619a6d991c87ec2967b2b0c417ae5a9b86a76f11396ff5492947b4f637369db /snap/snapd/12704/usr/lib/x86_64-linux-linux-gnu/libl.
c619a6d991c87ec2967b2b0c417ae5a9b86a76f11396ff5492947b4f637369db /snap/snapd/12398/usr/lib/x86_64-linux-linux-gnu/libl.
c619a6d991c87ec2967b2b0c417ae5a9b86a76f11396ff5492947b4f637369db /snap/core/11420/usr/lib/x86_64-linux-gnu/liblz4.1.
c619a6d991c87ec2967b2b0c417ae5a9b86a76f11396ff5492947b4f637369db /snap/core/11316/usr/lib/x86_64-linux-gnu/liblz4.1.
536ab2f5d4448fd1ff62d43b99ece092ec7824b083af7c7007bb0889353d2777 /snap/core18/2128/usr/lib/x86_64-linux-gnu/liblz4.11.74.11.
536ab2f5d4448fd1ff62d43b99ece092ec7824b083af7c7007bb0889353d2777 /snap/core18/2074/usr/lib/x86_64-linux-gnu/liblz4.11.74.11.
d6574e34006e27cfb5d00dc75018cc06832d0bbc9e1b35316b9c03148355f0a0 /usr/lib/x86_64-linux-gnu/liblz4.so.1.9.2
drapel hr
Ce arată `ls -l /lib/x86_64-linux-gnu/liblz4.so.1`? ar trebui să fie o legătură simbolică. Este rupt?
psaniac avatar
drapel ng
Arată că este o legătură simbolică către liblz4.so.1.9.2 în același director. Nu văd nicio eroare acolo.
N0rbert avatar
drapel zw
Rulați `find / -name "liblz4.so*" -type f | xargs sha256sum` și adăugați rezultatul în corpul întrebării. Pe VM LTS 20.04 proaspăt cu toate actualizările am `d6574e34006e27cfb5d00dc75018cc06832d0bbc9e1b35316b9c03148355f0a0 /usr/lib/x86_64-l.94.sognu.lib.
psaniac avatar
drapel ng
Mi-am editat postarea, dar suma de control este aceeași cu cea postată de dvs. Cred că dacă biblioteca ar fi coruptă, nu ar da o eroare „Fără un astfel de fișier sau director”.
Puncte:0
drapel ru

Pentru a elimina mariadb din armura aplicației, asta a funcționat pentru mine

Pentru a rezolva, căutați mysqld pe ieșirea de stare a armurii aplicației:

$ sudo aa-status

Apoi urmați pașii de mai jos pentru a elimina mysqld din armura aplicației:

$ echo „/usr/sbin/mysqld { }” | sudo tee /etc/apparmor.d/usr.sbin.mysqld
$ sudo apparmor_parser -v -R /etc/apparmor.d/usr.sbin.mysqld
$ sudo systemctl restart mariadb
Puncte:0
drapel in

Este AppArmor, în mod enervant scrie „Nu există un astfel de fișier sau director”. Acest răspuns mi-a rezolvat problema pe Ubuntu 20.04 LTS (Server): https://stackoverflow.com/a/60423057/539198

Asta a funcționat pentru mine:-

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

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

Totuși, dezactivează AppArmor pentru MySQL pe sistem.

Am primit din această problemă

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.