ไม่พบ mysqld.sock: ไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์ MySQL ภายในผ่านซ็อกเก็ต '/var/run/mysqld/mysqld.sock' (2 ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว)

ฉันเพิ่งลงทะเบียนกับ Stack Overflow เพราะฉันไม่สามารถแก้ไขปัญหานี้ได้ตั้งแต่ 2 วันที่แล้ว ฉันใช้ Xampp

ฉันกำลังติดตาม บทแนะนำ และเมื่อจากเทอร์มินัล ฉันพิมพ์ลงในไดเร็กทอรีโปรเจ็กต์หรือไดเร็กทอรีอื่น mysql หรือ mysql -uroot -p มันทำให้ฉันมีข้อผิดพลาดนี้:

ไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์ MySQL ภายในผ่านซ็อกเก็ต '/var/run/mysqld/mysqld.sock' (2 "ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว")

ฉันมี mariadb ที่ติดตั้งจาก https://mariadb.org/

ระบบปฏิบัติการของฉันคือ Ubuntu 16.04 LTS (ที่นี่ฉันพิมพ์ lsb_release -a ) ไม่มีโมดูล LSB รหัสผู้จัดจำหน่าย: Ubuntu คำอธิบาย: Ubuntu 16.04.2 LTS รุ่น: 16.04 ชื่อรหัส: xenial

ด้วยการทำ cd /var/run/ จากนั้น จะ ฉันค้นพบว่าไม่มีไดเรกทอรี /var/run/mysqld และ ไฟล์ mysql.sock เช่นกัน

ดังนั้นฉันจึง googled เล็กน้อยและพบ ที่นี่ ที่พวกเขาพูดถึงไฟล์ /etc/my.cnf แต่ฉันค้นพบโดยการทำคำสั่ง cd บางคำสั่งที่ฉันไม่มีแม้แต่ไฟล์นี้ . ( แต่ฉันเพิ่งสังเกตเห็นว่าฉันมีไฟล์ /etc/mysql/my.cnf และ /etc/mysql/my.cnf.fallback )

อะไรอีกล่ะ? โอ้ใช่. การถอนการติดตั้ง mariadb และการติดตั้ง mysql ไม่สามารถแก้ไขปัญหาได้เนื่องจากฉันมีปัญหากับแพ็คเกจ dpkg

ฉันยังลองติดตั้งและถอนการติดตั้ง xamp, laravel dir, mysql, mariadb หลายครั้งด้วย

ฉันไม่รู้จริงๆว่าต้องทำอย่างไร :(((


person Mydevlab2799    schedule 23.07.2017    source แหล่งที่มา
comment
มีอะไรอยู่ใน /var/log/mysql/error.log หรือ /var/log/mariadb/error.log   -  person Elvis Plesky    schedule 24.07.2017
comment
@ElvisPlesky ฉันไม่รู้ว่าจะเริ่มต้นจากตรงไหนมีวัตถุดิบนับพันรายการ อาจเป็นไปได้ (?): ไม่สามารถตั้งค่า SSL ได้เนื่องจากข้อผิดพลาดไลบรารี SSL ต่อไปนี้: บริบท SSL ไม่สามารถใช้งานได้หากไม่มีใบรับรองและคีย์ส่วนตัว [หมายเหตุ] ชื่อโฮสต์ของเซิร์ฟเวอร์ (ที่อยู่ผูก): '127.0.0.1'; พอร์ต: 3306 [หมายเหตุ] - '127.0.0.1' แก้ไขเป็น '127.0.0.1'; ซ็อกเก็ตเซิร์ฟเวอร์ที่สร้างบน IP: '127.0.0.1' ไม่สามารถเริ่มเซิร์ฟเวอร์: ผูกบนพอร์ต TCP/IP: ที่อยู่ถูกใช้งานแล้ว คุณมีเซิร์ฟเวอร์ mysqld อื่นที่ทำงานบนพอร์ต: 3306 แล้วหรือยัง? กำลังยกเลิก ดูเหมือนว่าจะให้ข้อผิดพลาดจนถึงวันที่ 23 กรกฎาคม แม้ว่าฉันจะพิมพ์ mysql วันนี้ด้วยก็ตาม   -  person Mydevlab2799    schedule 24.07.2017
comment
นี่คือเหตุผล มีอย่างอื่นฟังบนพอร์ต 3306 ค้นหาอะไรด้วย netstat -ntpl | เกรป 3306   -  person Elvis Plesky    schedule 24.07.2017
comment
alessio@E1-510:/opt/lampp$ sudo netstat -ntpl | grep 3306 [sudo] รหัสผ่าน alessio: tcp6 0 0 :::3306 :::* LISTEN 17999/mysqld   -  person Mydevlab2799    schedule 24.07.2017
comment
ฉันไม่คิดว่านั่นคือปัญหา อย่างไรก็ตาม ฉันยังคงไม่เข้าใจว่าทำไมฉันถึงพลาดสองไฟล์นั้น ( /etc/my.cnf และ /var/run/mysqld/mysqld.sock ) และถึงแม้ว่าฉัน อยากสร้างมันขึ้นมาเอง ไม่รู้จะเขียนอะไรข้างใน   -  person Mydevlab2799    schedule 24.07.2017


คำตอบ (1)


ฉันเข้าใจแล้ว! ก่อนอื่นฉันลบทุกร่องรอยของ MariaDB ด้วยคำสั่งเหล่านี้:

sudo service mysql stop
sudo apt-get --purge remove "mysql*
sudo rm -rf /etc/mysql/ 

จากนั้นฉันก็ติดตั้งใหม่:

apt-get update
apt-get upgrade
apt-get install mariadb-server

ตอนนี้ mariaDB ใช้งานได้แล้ว อย่างไรก็ตาม ฉันยังคงมีปัญหากับ xampp เนื่องจากฐานข้อมูล Mysql ของเขาขัดแย้งกับ mariaDB ของฉัน ดังนั้นฉันจึงเปลี่ยนพอร์ต Xampp Mysql จาก 3306 เป็น 3308 และทุกอย่างทำงานได้ดี

person Mydevlab2799    schedule 25.07.2017