Подтвердить что ты не робот

ERROR 2002 (HY000): невозможно подключиться к локальному серверу MySQL через сокет '/var/run/mysqld/mysql.sock' (2)

Я получаю эту ошибку

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysql.sock' (2)

хотя мне удалось запустить mysql через командную строку в ubuntu

mysql stop/waiting
mysql start/running, process 17691

Однако при попытке получить доступ к сайту я получаю ошибку подключения к базе данных, а также указанную выше ошибку при попытке получить доступ к mysql через mysql -u root -p

Я проверил свои журналы ошибок, и я увидел это

    131029 12:53:34 [Warning] Using unique option prefix myisam-recover instead of myisam-recover-options is deprecated and will be remo$
    131029 12:53:34 [Note] Plugin 'FEDERATED' is disabled.
    131029 12:53:34 InnoDB: The InnoDB memory heap is disabled
    131029 12:53:34 InnoDB: Mutexes and rw_locks use GCC atomic builtins
    131029 12:53:34 InnoDB: Compressed tables use zlib 1.2.3.4
    131029 12:53:34 InnoDB: Initializing buffer pool, size = 26.0G
    131029 12:53:36 InnoDB: Completed initialization of buffer pool
    131029 12:53:36 InnoDB: highest supported file format is Barracuda.
    131029 12:53:38  InnoDB: Waiting for the background threads to start
    131029 12:53:39 InnoDB: 5.5.34 started; log sequence number 5146431500
    131029 12:53:39 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306
    131029 12:53:39 [Note]   - '0.0.0.0' resolves to '0.0.0.0';
    131029 12:53:39 [Note] Server socket created on IP: '0.0.0.0'.
    131029 12:53:39 [Note] Event Scheduler: Loaded 0 events
    131029 12:53:39 [Note] /usr/sbin/mysqld: ready for connections.
    Version: '5.5.34-0ubuntu0.12.04.1-log'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  (Ubuntu)

Это первый раз, когда я вижу эту ошибку, и я не уверен, как решить эту проблему, пожалуйста, помогите мне немного здесь.

Спасибо

UPDATE

Хорошо, я попробовал решение glglgl, и после перезагрузки я получаю следующее в журнале ошибок:

    131029 13:17:36 [Warning] Using unique option prefix myisam-recover instead of myisam-recover-options is deprecated and will be remo$
    131029 13:17:36 [Note] Plugin 'FEDERATED' is disabled.
    131029 13:17:36 InnoDB: The InnoDB memory heap is disabled
    131029 13:17:36 InnoDB: Mutexes and rw_locks use GCC atomic builtins
    131029 13:17:36 InnoDB: Compressed tables use zlib 1.2.3.4
    131029 13:17:36 InnoDB: Initializing buffer pool, size = 26.0G
    131029 13:17:38 InnoDB: Completed initialization of buffer pool
    131029 13:17:38 InnoDB: highest supported file format is Barracuda.
    131029 13:17:40  InnoDB: Waiting for the background threads to start
    131029 13:17:41 InnoDB: 5.5.34 started; log sequence number 5146431500
    131029 13:17:41 [Note] Server hostname (bind-address): '127.0.0.1'; port: 3306
    131029 13:17:41 [Note]   - '127.0.0.1' resolves to '127.0.0.1';
    131029 13:17:41 [Note] Server socket created on IP: '127.0.0.1'.  
    131029 13:17:41 [Note] Event Scheduler: Loaded 0 events
    131029 13:17:41 [Note] /usr/sbin/mysqld: ready for connections.
    Version: '5.5.34-0ubuntu0.12.04.1-log'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  (Ubuntu)
4b9b3361

Ответ 1

Моя проблема была решена, проверяя, был ли процесс запущен на Ubuntu 12.04

ps ax | grep mysql

Тогда ответ был тот, что он не работал, поэтому я сделал

sudo service mysql start

Или попробуйте

sudo /etc/init.d/mysql start

Ответ 2

Во-первых, убедитесь, что установлен mysql-сервер. У меня такая же ошибка, когда mysql-сервер установлен, но поврежден каким-то образом. Я делаю трюк, удалив mysql полностью и переустановил его.

sudo apt-get remove --purge mysql*
sudo apt-get autoremove
sudo apt-get autoclean
sudo apt-get install mysql-server mysql-client

Ответ 3

У меня была такая же проблема, когда я установил xampp в свою систему. Сервер mysql ищет /var/run/mysqld/mysqld.sock, но файл mysql.sock находится в папке xampp, поэтому я использовал

 find / -name '*.sock'

чтобы найти файл mysql.sock, а затем использовать

ln -s <the file location> /var/run/mysqld/mysqld.sock

чтобы получить ссылку для файла *.sock, затем попытался mysql, и он работал без ошибок. Надеюсь, это может решить вашу проблему.

Не забудьте создать каталог, если он не существует.

Ответ 4

Клиент должен быть настроен в соответствии с настройками сервера.

[client]
port        = 3306
socket      = /var/run/mysqld/mysqld.sock

[mysqld]
user        = mysql
pid-file    = /var/run/mysqld/mysqld.pid
socket      = /var/run/mysqld/mysqld.sock
port        = 3306

Ответ 5

Это заняло у меня время, чтобы понять, но вы могли бы попробовать то же самое -

1 - Обновление и обновление

sudo apt-get update
sudo apt-get upgrade

2 - Очистите сервер MySQL и клиент (если установлен).

sudo apt-get purge mysql-server mysql-client

3 - Установите MySQL Server и Client в новый

sudo apt-get install mysql-server mysql-client

4 - Тест MySQL

mysql -u root -p
> enter root password

*** должен получить сокет не найден в /var/run/mysqld/mysql.sock

4 - Настроить mysqld.cnf с помощью nano vi

sudo nano/etc/mysql/mysql.conf.d/mysqld.cnf

Изменить адрес связывания с 127.0.0.1 на localhost

bind-address            = localhost

** Запись и выход

5 - Перезапустить MySQL

sudo /etc/init.d/mysql restart

6 - проверить mysql

mysql -u root -p
> enter root password

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.13-0ubuntu0.16.04.2 (Ubuntu)

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

Теперь вы должны войти в mysql cli.

Надеюсь, что это поможет

Code.Ph0y

Ответ 6

Недавно я столкнулся с этой ошибкой в ​​моей mysql ERROR 2002 (HY000):

Невозможно подключиться к локальному серверу MySQL через сокет

'/var/lib/mysql/mysql.sock' (111)

потому что я забываю начать свой мариад. просто введите эту команду на ур терминал.

systemctl start mariadb.service

Ответ 7

Это старый протектор с предлагаемым разным решением, но никто из них не работал у меня. Я добавляю этот ответ в надежде, что он поможет кому-то, кто некоторое время боролся за меня.

Я проверил все существующие ответы и все существующие решения, но для меня проблема была неправильным пользовательским разрешением в папке var/run/mysql.

Я проверил права пользователя на эту папку и был установлен в root. Когда я изменился на mysql:mysql, проблема исчезла.

Итак, введите /var/run/mysqld и измените права пользователя на:

chown -R mysql:mysql .

Ответ 8

У меня была такая же проблема после изменения my.cnf. Я решил эту проблему следующие шаги.

Сначала: чтобы найти местоположение error.log, посмотрите на "my.conf".

Во-вторых: я искал error.log, я нашел следующие сеансы массажа,

"неизвестная переменная" по умолчанию -...... ' "....." mysqld_safe Запуск mysqld darmon с /var/lib/mysql "

В-третьих: я reset my.conf по умолчанию, а затем перезапустите, эта проблема была решена.

Надеюсь, это поможет.

Ответ 9

Я следую за Веллингтон Лориндо. И моя проблема была решена.

Действия 1. запустить в терминале

ps ax | grep mysql

Результат был

11200? Ssl 0:01/usr/sbin/mysqld

11514 pts/0 S + 0:00 grep mysql

Действия 2. Снова наберите это

sudo service mysql start

И проблема решена.

Спасибо Веллингтон Лориндо

Ответ 10

Возможно, вам не хватает mysql-сервера. установите его с помощью

sudo apt-get install mysql-server

Ответ 11

Такая же ошибка произошла и с моей системой. Мне пришлось удалить mysql-сервер и переустановить его. Не так. Попробуйте запустить эти команды:

  • sudo apt-get purge mysql-server
  • sudo apt-get autoremove
  • sudo apt-get install mysql-server

Ответ 12

это сработало для меня

sudo /etc/init.d/mysql start

сначала я попробовал это, но я не понимаю, почему он не работает таким образом.

sudo service mysql start

Ответ 13

В Debian для меня была проблема с привязкой, поэтому мне удалось изменить bind-address от localhost до 0.0.0.0.

vim /etc/mysql/my.cnf 

bind-address = 0.0.0.0

Ответ 14

Я удалил все, что связано с MySQL с

sudo apt-get удалить --purge --auto -r emove mysql-client-5.7 mysql-client-core-5.7 mysql-common mysql-server-5.7

sudo rm -r/etc/mysql */var/lib/mysql */var/log/mysql *

а затем переустановил его снова с

sudo apt-get update

sudo apt-get установить mysql-сервер

а потом начал с

mysql -u root -p

затем пароль

Ответ 15

Я также встретил эту проблему. mysql -u root -p Введите пароль: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111)

Затем я нахожу, что причина в том, что мой selinux принудительно, я отключил его, а затем перезапустил mysqld, он работает, надеюсь, полезно.

Ответ 16

Есть еще один шанс получить эту конкретную ошибку, если вы измените файл max_connections в my.cnf.

Я также столкнулся с той же ошибкой, которая не позволила мне войти в сервер MySQL. В моем случае проблема заключалась в том, что мне пришлось увеличить размер max_connections в

/etc/mysql/my.cnf

к

set-variable = max_connections = 5000

Из-за этой причины на следующий день, когда я смотрел сервер MySQL, эта ошибка была сброшена

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

Удаление сегмента set-variable = max_connections = 5000 из файла my.conf сделало трюк. После удаления этого сегмента после использования команды. Сервер MySQL запущен и работает, как раньше.

sudo /etc/init.d/mysql start

Ответ 17

У меня была проблема.

Этот процесс работал для меня:

Убедитесь, что во время процесса удаления вы выбираете Нет для удаления базы данных.

sudo apt-get remove --purge mysql*

sudo apt-get autoremove

sudo apt-get autoclean

sudo apt-get install mysql-server mysql-client

Ответ 18

В терминале linux я запускаю следующие шаги, и они помогли мне

1. Прежде всего список всех пакетов mysql, установленных

sudo dpkg -l | grep mysql

2.Удалить перечисленные пакеты с помощью указанной команды

sudo apt-get --purge autoremove

3.Reinstall mysql server

sudo apt-get install mysql-server

Это сработало для меня, Надеюсь, это сработает и для вас.

Альтернативно Try

sudo apt-get remove --purge mysql - *

затем переустановить с помощью

sudo apt-get install mysql-server mysql-client

Ответ 19

Вам не нужно переустанавливать сервер MySQL. Я столкнулся с той же проблемой, но я решил проблему, выполнив эти команды.

  1  ps -A|grep mysql
  2  sudo pkill mysql
  3  ps -A|grep mysqld
  4  sudo pkill mysqld
  5  sudo service mysql restart
  6  mysql -u root -p

Ответ 20

Если вы посмотрите внимательно, вы увидите разницу:

  • Сервер прослушивает /var/run/mysqld/mysqld.sock
  • Клиент пытается подключиться к /var/run/mysqld/mysql.sock

Вам нужно будет настроить тот или иной.

Ответ 21

Две основные причины:

1) mysql-server не установлен! Вы должны установить его (mysql-server, а не mysql-client) и запустить его.

2) Он установлен по умолчанию и работает. Таким образом, невозможно запустить его снова через Xampp или Lampp. Вы должны остановить это: sudo service mysql stop

то вы можете запустить его через Xampp. Можно проверить, работает ли он с этим кодом: sudo netstat -tap | grep mysql

Если вы видите такой результат: tcp 0 0 localhost: mysql: LISTEN 1043/mysqld

Это означает, что он работает правильно.

Ответ 22

убедитесь, что параметр конфигурации адреса привязки в файле my.cnf в файле/etc/совпадает с адресом localhost или виртуальным IP-адресом. плюс проверка, чтобы убедиться, что каталог для создания файла сокета хорошо указан.

Ответ 23

Это альтернативное решение, если проблема связана с вами. Если ваш дисковод заполнен, то сервер MYSQL (и большинство других программ) не может быть запущен. Удалите файлы и папки, чтобы запустить Mysql-сервер.

Ответ 24

Простой: выполните следующие коды:

 1:: ls -lart/var/run/my*

   2::mkdir /var/run/mysqld

    3::touch /var/run/mysqld/mysqld.sock
    4:ls -lart /var/run/mysqld
    5::chown -R mysql /var/run/mysqld
    6::ls -lart /var/run/mysqld
REstart your mysql server

затем завершите тип mysql -u root или mysql -u root -p и нажмите клавишу ввода. спасибо

Ответ 25

В моем случае проблема заключалась в том, что я добавил "default-character-set = utf8" в my.cnf, и это искажало файл. Вместо этого измените эту строку для "character_set_server = utf8". Это должно решить его, надеюсь, что это поможет.

Ответ 26

Обратите внимание, что я столкнулся с этой проблемой после обновления моего дистрибутива Ubuntu 14.04 с помощью apt-get upgrade. Мне пришлось полностью очистить mysql-server и mysql-client и переустановить его, чтобы исправить эту проблему.

sudo apt-get autoremove
sudo apt-get autoclean
sudo apt-get purge mysql-server mysql-client
sudo apt-get install mysql-server mysql-client

Надеюсь, что это поможет.

Ответ 27

Эта проблема возникнет из-за некоторых ненужных изменений, внесенных в файл my.cnf. Попытайтесь выполнить diff /etc/mysql/my.cnf с помощью одного из файлов my.cnf для серверов mysql.

Я только что заменил файл /etc/mysql/my.cnf новым файлом my.cnf, и это работает для меня.

Ответ 28

Я тоже застрял в этой ошибке, и для ее поиска потребовалось почти 3 часа.

Прежде всего, попробуйте вспомнить изменения, внесенные вами в файл conf, затем отмените изменения и сохраните файл и запустите mysql. Если вы хотите внести какие-либо изменения в файл conf, остановите сервер mysql, а затем измените нужные значения и перезапустите mysql.

Эта ошибка возникает из-за неверного (неверного ключевого слова или неправильного значения) изменения, внесенного в файл conf. В большинстве случаев эта ошибка возникает, даже если вы перезапускаете машину, на которой запущен сервер, так как сервер остановлен, в этом случае запустите сервер mysql.

Ответ 29

У меня такая же проблема, и я попробовал все решения, размещенные здесь, как:

sudo apt-get autoremove mysql-server

но, к сожалению, это не работает для меня на ubuntu 16.04. Чтобы удалить нужный пакет, вам необходимо:

sudo apt-get remove mysql-

при попытке автозаполнения с помощью tab команды он перечислит следующий пакет:

mysql-client           mysql-client-core-5.7  mysql-server           mysql-server-core-5.7  mysql-workbench        mythes-en-us           
mysql-client-5.7       mysql-common           mysql-server-5.7       mysql-utilities        mysql-workbench-data   

очевидно, выберите mysql-server-core-5.7, чтобы он был:

sudo apt-get remove mysql-server-core-5.7

и теперь вы можете удалить все mysql и снова установить с помощью этой команды из johnny answer:

sudo apt-get remove --purge mysql*
sudo apt-get autoremove
sudo apt-get autoclean
sudo apt-get install mysql-server mysql-client

Теперь я решил это, и ошибка GONE.

Ответ 30

Как только вы установите или обновите MySQL, он не попросит вас создать пароль root. В этом случае: у вас будет файл с именем пути debian.cnf: /etc/mysql. Вы найдете имя пользователя и пароль, войдите с этими учетными данными и создадите нового пользователя и пароль.