ปัญหาของฉันเริ่มต้นโดยที่ฉันไม่สามารถเข้าสู่ระบบในฐานะ root ได้อีกต่อไปในการติดตั้ง mysql ของฉัน ฉันพยายามรัน mysql โดยไม่เปิดรหัสผ่าน ... แต่ทุกครั้งที่ฉันรันคำสั่ง
# mysqld_safe --skip-grant-tables &
ฉันจะไม่ได้รับการตอบกลับ ผมพยายามที่จะทำตามคำแนะนำเหล่านี้ในการกู้คืนรหัสผ่าน
หน้าจอมีลักษณะดังนี้:
root@jj-SFF-PC:/usr/bin# mysqld_safe --skip-grant-tables
120816 11:40:53 mysqld_safe Logging to syslog.
120816 11:40:53 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
และฉันไม่ได้รับพรอมต์ให้เริ่มพิมพ์คำสั่ง SQL เพื่อรีเซ็ตรหัสผ่าน
เมื่อฉันฆ่ามันโดยกดCTRL+ Cฉันได้รับข้อความต่อไปนี้:
error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)'
Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists!
หากฉันลองคำสั่งอีกครั้งและปล่อยให้นานพอฉันจะได้รับชุดข้อความต่อไปนี้:
root@jj-SFF-PC:/run/mysqld# 120816 13:15:02 mysqld_safe Logging to syslog.
120816 13:15:02 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
120816 13:16:42 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
[1]+ Done mysqld_safe --skip-grant-tables
root@jj-SFF-PC:/run/mysqld#
แต่ถ้าฉันพยายามเข้าสู่ระบบในฐานะ root โดยทำ:
# mysql -u root
ฉันได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
ฉันตรวจสอบแล้วและ/var/run/mysqld/mysqld.sock
ไม่มีไฟล์อยู่ โฟลเดอร์ทำ แต่ไม่ใช่ไฟล์
นอกจากนี้ฉันก็ไม่รู้ว่ามันจะช่วยได้หรือเปล่า แต่ฉันก็วิ่งfind / -name mysqld
แล้วมันก็มาด้วย:
/var/run/mysqld - folder
/usr/sbin/mysqld - file
/run/mysqld - folder
ฉันยังใหม่กับ Linux และ MySQL ดังนั้นฉันไม่รู้ว่านี่เป็นเรื่องปกติหรือไม่ แต่ฉันจะรวมข้อมูลนี้ในกรณีที่ช่วยได้
ในที่สุดฉันก็ตัดสินใจถอนการติดตั้งและติดตั้ง mysql อีกครั้ง
apt-get remove mysql-server
apt-get remove mysql-client
apt-get remove mysql-common
apt-get remove phpmyadmin
หลังจากติดตั้งแพคเกจทั้งหมดอีกครั้งในลำดับเดียวกันข้างต้นในระหว่างการติดตั้ง phpmyadmin ฉันได้รับข้อผิดพลาดเดียวกัน:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
ดังนั้นฉันจึงลองถอนการติดตั้ง / ติดตั้งอีกครั้ง เวลานี้หลังจากฉันถอนการติดตั้งแพคเกจฉันยังเปลี่ยนชื่อไฟล์ mysql และไดเรกทอรีทั้งหมดด้วยตนเองmysql.bad
ในตำแหน่งที่เกี่ยวข้อง
/var/lib/mysql
/var/lib/mysql/mysql
/var/log/mysql
/usr/lib/perl5/DBD/mysql
/usr/lib/perl5/auto/DBD/mysql
/usr/lib/mysql
/usr/bin/mysql
/usr/share/mysql
/usr/share/dbconfig-common/internal/mysql
/etc/init.d/mysql
/etc/apparmor.d/abstractions/mysql
/etc/mysql
จากนั้นฉันพยายามติดตั้งซ้ำmysql-server
แล้วmysql-client
ซ้ำอีก แต่ฉันสังเกตเห็นว่ามันไม่ได้แจ้งให้ฉันใส่รหัสผ่าน ไม่ควรถามรหัสผ่านของผู้ดูแลระบบหรือ
/var/run/mysqld/mysqld.sock
หายไป ปัญหาที่คุณเชื่อมโยงมีไฟล์นั้น