Назад | Перейти на главную страницу

Ошибка подключения клиента mysql

Я обновил MySQL с версии 5.0 до версии 5.1 и теперь не могу получить доступ к mysql из командной строки как mysql -uroot. Сообщение об ошибке выглядит следующим образом: Не удается подключиться к локальному серверу MySQL через сокет '/var/run/mysql/mysql.sock'

в Linux openSuSE 11.1.

Связано ли это с тем, что мой файл hosts неверен? или пакеты suse MySQL сломаны?

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

Что нужно проверить:

  1. Mysqld запущен? "пс aux | grep mysql". Попробуйте перезапустить его
  2. Создает ли mysqld сокет? "lsof -p $ mysqld_pid | grep sock"
  3. Это в нужном месте. Обратите внимание на параметр "сокет" в конфигурации сервера. По умолчанию это «/tmp/mysql.sock». Возможно, вам потребуется настроить его в соответствии с вашим клиентом или изменить конфигурацию клиента в соответствии с расположением сервера.

http://dev.mysql.com/doc/refman/5.1/en/server-options.html#option_mysqld_socket

Вы запустили службу MySQL после обновления?

service mysql restart

Проблема в том, что клиент mysql определяет свои настройки из двух файлов /etc/my.cnf или ~ / .my.cnf.
Учетная запись пользователя в группе 100 не имела значения для файла сокета mysql.sock, однако это значение было установлено для root. Обычно /etc/my.cnf, похоже, имеет доступ на чтение для пользователей, не входящих в группу mysql, однако в openSuSE 11.0 и mysql 5.1 этот файл теперь имеет доступ rw для mysql и доступ только для чтения к группе и нет доступа для пользователей, не входящих в группу. группа. Предоставив пользователям доступ только для чтения к файлу, мне удалось решить проблему, однако проблема заключается в разрешениях на файл mysql.sock. Что мне еще нужно создать