p2@P2:~$sudo systemctl รีสตาร์ท mariadb
งานสำหรับ mariadb.service ล้มเหลวเนื่องจากกระบวนการควบคุมออกโดยมีรหัสข้อผิดพลาด
ดู "สถานะ systemctl 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
ใช้งานอยู่: ล้มเหลว (ผลลัพธ์: exit-code) ตั้งแต่ ศุกร์ 2021-08-13 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 (รหัส=ออก สถานะ=0/สำเร็จ)
กระบวนการ: 313919 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
กระบวนการ: 313921 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= || VAR=`ซีดี /usr/bin/..; /usr/bin/galera_recovery`; [ $? -eq 0 ] && systemctl ตั้งค่าสภาพแวดล้อม _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/n/a
srp 13 15:13:46 P2 systemd[1]: mariadb.service: ล้มเหลวด้วยผลลัพธ์ 'exit-code'
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
แก้ไข: การตรวจสอบห้องสมุด
ค้นหา / -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