Моя проблема почалася зі мною, що я більше не зможу ввійти як 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
немає. Проблема, яку ви пов’язали, має цей файл.