Ошибка Mysql «Невозможно подключиться к локальному серверу MySQL через сокет '/var/run/mysqld/mysqld.sock' (13)'», и я также не могу сбросить пароль root

Ошибка Mysql «Невозможно подключиться к локальному серверу MySQL через сокет '/var/run/mysqld/mysqld.sock' (13)'», и я также не могу сбросить пароль root

Я получаю следующую ошибку при попытке запустить несколько команд, и я не знаю пароль всякий раз, когда меня об этом просят. (Примечание: я только что обновил свой дистрибутив Ubuntu до версии 22.04, но ранее у меня не был установлен пароль или был пустой пароль для «root»).

error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (13)'

Из большинства сообщений следует, что общая проблема заключается в том, что mysql-server на самом деле не запущен. Я вижу, что мой запущен, хотя, sudo service mysql statusи следующие команды возвращают...

$ cat /etc/services | grep 3306
    mysql           3306/tcp
$  netstat -tulpn | grep 3306
    (No info could be read for "-p": geteuid()=1000 but you should be root.)
    tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      -
    tcp        0      0 127.0.0.1:33060         0.0.0.0:*               LISTEN  

Эти команды выдают ошибку «Невозможно подключиться...»:

  • mysqladmin -u root -p выключение
  • версия mysqladmin
  • mysql
  • mysql -u корень
  • mysql -u root -h локальный хост -p

Запуск, mysql -u root -h 127.0.0.1 -pкажется, работает, поскольку запрашивает у меня пароль, но ни один из моих предыдущих паролей не подходит, и мне не удалось запустить его sudo mysqld_safe --skip-grant-tables &или sudo mysqld_safe --skip-grant-tables --skip-networking &успешно сбросить пароль root.

Я также бежал...

  • sudo apt-get install --reinstall mysql-server
  • обновление sudo apt
  • обновление sudo apt
  • sudo apt install mysql-сервер
  • sudo apt install mysql-client
  • sudo usermod -d /var/lib/mysql/ mysql
  • sudo dpkg --configure -a
  • и следовал рекомендациям из двух лучших ответов в этом посте:https://stackoverflow.com/questions/41984956/cant-reset-root-password-with-skip-grant-tables-on-ubuntu-16
  • и попытался удалить MySQL, следуя инструкциямздесь
  • и попытался сделать резервную копию папки sock и восстановить ее, как было рекомендованоздесь

Дополнительная случайная информация:

Я также знаю, что он /var/run/mysqld/mysqld.sockсуществовал ранее в этом процессе (сейчас у меня в этом каталоге есть только mysql.bak), но когда я запускаю sudo find / -type s, он просто возвращает кучу файлов/каталогов с сообщением «Отказано в доступе» (полагаю, потому что я в WSL), поэтому я не проверял, может ли где-то быть еще один mysql.sock.

Я также знаю, что это /etc/mysql/my.cnfпросто указывает на -> /etc/alternatives/my.cnf, в котором есть только следующее (кроме некоторых комментариев):

!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/

решение1

  1. Остановите MySQL (sudo systemctl stop mysql)
  2. Убедитесь, что процесс остановлен
  3. Запустите MySQL с опцией --skip-grant-tables

Альтернативный способ очистки mysql: sudo apt purge mariadb-server mysql-common Убедитесь, что /etc/mysql и /var/lib/mysql пусты/удалены.

Переустановить

Связанный контент