Điểm:1

/usr/sbin/mysqld: lỗi khi tải thư viện dùng chung: liblz4.so.1: không thể mở tệp đối tượng dùng chung: Không có tệp hoặc thư mục như vậy

lá cờ ng
p2@P2:~$sudo systemctl khởi động lại mariadb
Công việc cho mariadb.service không thành công vì quá trình kiểm soát đã thoát với mã lỗi.
Xem "systemctl status mariadb.service" và "journalctl -xe" để biết chi tiết.
p2@P2:~$sudo systemctl status mariadb
mariadb.service - Máy chủ cơ sở dữ liệu MariaDB 10.3.31
     Đã tải: đã tải (/lib/systemd/system/mariadb.service; đã bật; giá trị đặt sẵn của nhà cung cấp: đã bật)
    Đăng nhập: /etc/systemd/system/mariadb.service.d
Hoạt động: không thành công (Kết quả: mã thoát) kể từ Thứ Sáu 2021-08-13 15:13:46 CEST; 5 phút trước
       Tài liệu: man:mysqld(8)
             https://mariadb.com/kb/en/library/systemd/
    Quá trình: 313918 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
    Quá trình: 313919 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (mã=đã thoát, trạng thái=0/THÀNH CÔNG)
    Quá trình: 313921 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= || VAR=`cd /usr/bin/..; /usr/bin/galera_recovery`; [$? -eq 0 ] && set-environment systemctl _WSRE>
    Quá trình: 313968 ExecStart=/usr/sbin/mysqld $MYSQLD_OPTS $_WSREP_NEW_CLUSTER $_WSREP_START_POSITION (mã=đã thoát, trạng thái=127)
   PID chính: 313968 (mã=đã thoát, trạng thái=127)

srp 13 15:13:46 P2 systemd[1]: Khởi động máy chủ cơ sở dữ liệu MariaDB 10.3.31...
srp 13 15:13:46 P2 mysqld[313968]: /usr/sbin/mysqld: lỗi khi tải thư viện dùng chung: liblz4.so.1: không thể mở tệp đối tượng dùng chung: Không có tệp hoặc thư mục như vậy
srp 13 15:13:46 P2 systemd[1]: mariadb.service: Quá trình chính đã thoát, mã=đã thoát, trạng thái=127/n/a
srp 13 15:13:46 P2 systemd[1]: mariadb.service: Không thành công với kết quả là 'mã thoát'.
srp 13 15:13:46 P2 systemd[1]: Không khởi động được máy chủ cơ sở dữ liệu MariaDB 10.3.31.

srp 13 15:13:46 P2 mysqld[313968]: /usr/sbin/mysqld: lỗi khi tải thư viện dùng chung: liblz4.so.1: không thể mở tệp đối tượng dùng chung: Không có tệp hoặc thư mục như vậy

Được rồi, vậy là mariaDB không thể tìm thấy thư viện liblz4-1. Tuy nhiên:

Gói liblz4-1 đã được cài đặt và cập nhật.liblz4.so.1 được cài đặt tại /lib/x86_64-linux-gnu/liblz4.so.1

Nếu chúng ta tự chạy mariaDB:

p2@P2:~$ /usr/sbin/mysqld
/usr/sbin/mysqld: lỗi khi tải thư viện dùng chung: liblz4.so.1: không thể mở tệp đối tượng dùng chung: Không có tệp hoặc thư mục như vậy

Nhưng nếu chúng ta chạy ldd trên mariaDB để tìm các thư viện cần thiết:

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 có thể tìm thư viện! (Nếu không được, nó sẽ xuất liblz4.so.1 => không tìm thấy)

Được rồi, vậy điều gì gây ra lỗi này và làm cách nào để chạy mariaDB?

Lưu ý bổ sung: Một số nghiên cứu rất sâu trên internet đã tiết lộ rằng vấn đề này có thể là do thiếu/hỏng trình tải thư viện. Tuy nhiên, tôi nghi ngờ lời khuyên đưa ra đã lỗi thời, vì các vấn đề của chúng là do nhiều kiến ​​trúc của tôi và các gói trong hệ thống của tôi là 64-bit. Ngoài ra, các trình tải mà họ đang đề cập đến không tồn tại trên bản phân phối của tôi.

Ngoài ra, tôi đang sử dụng Ubuntu 20.04.2 LTS.

chỉnh sửa: tổng kiểm tra thư viện

tìm / -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
lá cờ hr
`ls -l /lib/x86_64-linux-gnu/liblz4.so.1` hiển thị gì? nó phải là một liên kết tượng trưng. Nó có bị hỏng không?
psaniac avatar
lá cờ ng
Nó cho thấy rằng đó là một liên kết tượng trưng đến liblz4.so.1.9.2 trong cùng một thư mục. Tôi không thấy bất kỳ lỗi nào ở đó.
N0rbert avatar
lá cờ zw
Vui lòng chạy `find / -name "liblz4.so*" -type f | xargs sha256sum` và thêm kết quả vào nội dung câu hỏi. Trên máy ảo LTS 20.04 mới với tất cả các bản cập nhật, tôi có `d6574e34006e27cfb5d00dc75018cc06832d0bbc9e1b35316b9c03148355f0a0 /usr/lib/x86_64-linux-gnu/liblz4.so.1.9.2` .
psaniac avatar
lá cờ ng
Tôi đã chỉnh sửa bài đăng của mình, nhưng tổng kiểm tra giống như bài bạn đã đăng. Tôi nghĩ rằng nếu thư viện bị hỏng, nó sẽ không báo lỗi "Không có tệp hoặc thư mục như vậy".
Điểm:0
lá cờ in

Đó là AppArmor, thật khó chịu khi thông báo "Không có tệp hoặc thư mục như vậy". Câu trả lời này đã sửa nó cho tôi trên Ubuntu 20.04 LTS (Máy chủ): https://stackoverflow.com/a/60423057/539198

Điều này làm việc cho tôi: -

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

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

Tuy nhiên, nó cũng vô hiệu hóa AppArmor cho MySQL trên hệ thống.

Có được từ vấn đề này

Điểm:0
lá cờ ru

Để xóa mariadb khỏi áo giáp ứng dụng, đây là cách hiệu quả với tôi

Để giải quyết, hãy tìm mysqld trên đầu ra trạng thái áo giáp của ứng dụng:

$ sudo aa-trạng thái

Sau đó làm theo các bước bên dưới để xóa mysqld khỏi áo giáp ứng dụng:

$ 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 khởi động lại mariadb

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.