Отсутствует файл /var/lib/mysql/mysql.sock

18

Я пытаюсь получить доступ к mysql, и когда я запускаю команду mysql, я получаю следующее.

  

[корень @ ф-10-229-65-166   tpdatabase-1.8.0.28356] # mysql

     

ОШИБКА 2002 (HY000): Не удается подключиться к   локальный сервер MySQL через сокет   '/var/lib/mysql/mysql.sock' (2)

Выполнение этого ничего не возвращает

  

[root @ ip-10-229-65-166 mysqld] # найти   -name mysql *

     

[root @ ip-10-229-65-166 mysqld] #   /etc/init.d/mysql stop   -bash: /etc/init.d/mysql: нет такого файла или каталога

     

[корень @ ф-10-229-65-173   tpdatabase-1.8.0.28356] # mysql_config   | grep - --socket

     

- socket [/var/lib/mysql/mysql.sock]

Может быть проблема с разрешениями?

У меня есть mysql, установленный с помощью yum install mysql

Я запускаю CentOS 5.4 на Amazon EC2 Cloud Instance

    
задан unleashed 14.04.2011 в 11:26
источник

6 ответов

28

Вам необходимо установить серверный пакет:

sudo yum install mysql-server

После установки вам необходимо запустить службу:

sudo service mysqld start
    
ответ дан Alicia Casuso 22.09.2011 в 00:13
  • И тогда, возможно, chkconfig mysqld on –  r4d1um 05.12.2012 в 12:52
  • работает на amazon linux, tank –  vels4j 04.11.2016 в 15:56
5

Мы столкнулись с аналогичной проблемой в моем офисе с той же ОС. Фактически, что происходило, было мало места на сервере. Это довольно странно, но я считаю, что если сервер будет заполнен, файлы не могут быть загружены или какого-либо другого курорта. Проверьте, чтобы убедиться, что места на сервере достаточно, и вам нужно попытаться удалить установленный mysql и переустановить. Удачи.     

ответ дан Knightly Oxford 05.12.2012 в 12:29
3

просто найдите mysqld, это демон сервера:

find / | grep mysqld

Если вы его нашли, пакет сервера может быть установлен правильно, но без сценариев initd. Для тестирования вы можете запустить сервер mysql вручную, выполнив вышеуказанный файл.

    
ответ дан Andreas 14.04.2011 в 13:17
1

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

Если файлов там нет, это не проблема с разрешениями. Кроме того, вы используете root.     

ответ дан Noufal Ibrahim 14.04.2011 в 11:42
  • Проверено, что он установлен Пакет mysql-server-5.0.77-4.el5_5.5.i386 уже установлен и последняя версия Нечего делать –  unleashed 14.04.2011 в 11:48
  • Какие файлы установлены этим пакетом? –  Noufal Ibrahim 14.04.2011 в 11:49
  • Было бы слишком сложно вставить конкретные файлы здесь, но у меня установлены пакеты mysql, mysql-devel и mysql-server. –  unleashed 14.04.2011 в 11:58
  • В принципе, я прошу вас сделать это, чтобы узнать, где установлены файлы сервера, и если «обычные» сценарии инициализации нет, выяснить, какой пакет содержит их и установить. –  Noufal Ibrahim 14.04.2011 в 12:40
  • Кажется, что для mysql нет скрипта init.d. Извините за путаницу, мне просто трудно понять, что случилось. Я должен попробовать загрузить mysql rpm. –  unleashed 14.04.2011 в 12:57
1
rm -rvf /var/lib/mysql/ib_logfile*
touch /var/lib/mysql/mysql.sock
touch /var/lib/mysql/mysql.pid
chown -R mysql:mysql /var/lib/mysql
systemctl restart mysql

попробуйте это и проверьте разрешение как /var/lib/mysql/mysql.sock, так и / tmp

    
ответ дан Indharajith 06.09.2017 в 11:46
  • Единственный ответ, который работал для меня после нескольких часов поиска. Я даже сделал новую установку mysql-сервера на моей машине Centos. –  Saqib Ahmed 09.04.2018 в 09:52
-2

Перед тем, как поразить mysql в командной строке, убедитесь, что ваш правильный my.cnf configuration file размещен и установите разрешение папки etc как

chmod -R 777

etc, как показано ниже, чтобы избежать

  

ошибка MySQL - ERROR 2002 (HY000):   например, /etc/my.cnf, /etc/mysql/my.cnf, $ MYSQL_HOME / my.cnf [datadir] /my.cnf ~ / .my.cnf

    
ответ дан Muhammad Asif 16.01.2016 в 07:00
  • chmod -R 777 в / etc никогда не бывает хорошим, этот каталог содержит огромное количество системных файлов, которые вы не хотите предоставлять всем разрешениям, подобным этому. –  dxvargas 05.05.2017 в 15:19