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