подключиться к локальному серверу MySQL через сокет - PullRequest
9 голосов
/ 29 июня 2011

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

Я попробовал все, что янашел в интернете, но не могу решить проблему в Ubuntu 11.04.

Я пробовал следующие вещи:

  • запустил mysqld вручную, используя sudo /usr/sbin/mysqld start
  • запустил mysqld, используя service mysqld start
  • Проверено, что он работает с использованием ps ax | grep mysqld и получен результат 3419 pts/0 S+ 0:00 grep --color=auto mysqld
  • создал файл вручную при /var/run/mysqld/mysqld.sock
  • Дал права mysql пользователю
  • Пытался удалить и переустановить, но все равно не работает
  • Пытался tasksel настроить LAMP, все остальное работает, но MySQL генерирует ту же ошибку.

При запуске с mysqld -P 3305 генерируется ошибка

110630  0:24:24 [Warning] Can't create test file /var/lib/mysql/nazar-studio.lower-test
110630  0:24:24 [Warning] Can't create test file /var/lib/mysql/nazar-studio.lower-test
mysqld: Can't change dir to '/var/lib/mysql/' (Errcode: 13)
110630  0:24:24 [ERROR] Aborting

110630  0:24:24 [Note] mysqld: Shutdown complete

Вот журнал ошибок mysql

10630  0:07:22 [Note] Plugin 'FEDERATED' is disabled.
110630  0:07:22  InnoDB: Initializing buffer pool, size = 8.0M
110630  0:07:22  InnoDB: Completed initialization of buffer pool
InnoDB: The first specified data file ./ibdata1 did not exist:
InnoDB: a new database to be created!
110630  0:07:22  InnoDB: Setting file ./ibdata1 size to 10 MB
InnoDB: Database physically writes the file full: wait...
110630  0:07:22  InnoDB: Log file ./ib_logfile0 did not exist: new to be created
InnoDB: Setting log file ./ib_logfile0 size to 5 MB
InnoDB: Database physically writes the file full: wait...
110630  0:07:22  InnoDB: Log file ./ib_logfile1 did not exist: new to be created
InnoDB: Setting log file ./ib_logfile1 size to 5 MB
InnoDB: Database physically writes the file full: wait...
InnoDB: Doublewrite buffer not found: creating new
InnoDB: Doublewrite buffer created
InnoDB: Creating foreign key constraint system tables
InnoDB: Foreign key constraint system tables created
110630  0:07:23  InnoDB: Started; log sequence number 0 0
110630  0:07:23  InnoDB: Starting shutdown...
110630  0:07:28  InnoDB: Shutdown completed; log sequence number 0 44233
110630  0:07:28 [Note] Plugin 'FEDERATED' is disabled.
110630  0:07:28  InnoDB: Initializing buffer pool, size = 8.0M
110630  0:07:28  InnoDB: Completed initialization of buffer pool
110630  0:07:28  InnoDB: Started; log sequence number 0 44233
ERROR: 1064  You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ALTER TABLE user ADD column Show_view_priv enum('N','Y') CHARACTER SET utf8 NOT ' at line 1
110630  0:07:28 [ERROR] Aborting

110630  0:07:28  InnoDB: Starting shutdown...
110630  0:07:34  InnoDB: Shutdown completed; log sequence number 0 44233
110630  0:07:34 [Note] /usr/sbin/mysqld: Shutdown complete

110630  0:07:34 [Note] Plugin 'FEDERATED' is disabled.
110630  0:07:34  InnoDB: Initializing buffer pool, size = 8.0M
110630  0:07:34  InnoDB: Completed initialization of buffer pool
110630  0:07:34  InnoDB: Started; log sequence number 0 44233
110630  0:07:34  InnoDB: Starting shutdown...
110630  0:07:39  InnoDB: Shutdown completed; log sequence number 0 44233
110630  0:07:39 [Note] Plugin 'FEDERATED' is disabled.
110630  0:07:39  InnoDB: Initializing buffer pool, size = 8.0M
110630  0:07:39  InnoDB: Completed initialization of buffer pool
110630  0:07:39  InnoDB: Started; log sequence number 0 44233
ERROR: 1050  Table 'plugin' already exists
110630  0:07:39 [ERROR] Aborting

110630  0:07:39  InnoDB: Starting shutdown...
110630  0:07:44  InnoDB: Shutdown completed; log sequence number 0 44233
110630  0:07:44 [Note] /usr/sbin/mysqld: Shutdown complete

110630  0:18:30 [Note] Plugin 'FEDERATED' is disabled.
110630  0:18:30  InnoDB: Initializing buffer pool, size = 8.0M
110630  0:18:30  InnoDB: Completed initialization of buffer pool
110630  0:18:30  InnoDB: Started; log sequence number 0 44233
mysqld: Too many arguments (first extra is 'start').
Use --verbose --help to get a list of available options
110630  0:18:30 [ERROR] Aborting

110630  0:18:30  InnoDB: Starting shutdown...
110630  0:18:35  InnoDB: Shutdown completed; log sequence number 0 44233
110630  0:18:35 [Note] mysqld: Shutdown complete

Как устранить эту ошибку?

Ответы [ 6 ]

16 голосов
/ 30 июня 2011

Я провел эксперименты и наконец решил это с помощью этих команд

sudo chown mysql:root /var/lib/mysql/ -R
sudo chmod g+rw /var/lib/mysql/ -R
sudo /usr/sbin/mysqld --skip-grant &

Беги ...... Уррааахххххххххх !!!!!!!!!!!!

4 голосов
/ 16 апреля 2014

Ваш журнал на самом деле говорит вам о проблеме:

mysqld: слишком много аргументов (первым дополнительным является «start»).'Начните'.Вместо:

sudo / usr / sbin / mysqld start

должно быть просто:

sudo / usr / sbin / mysqld

1 голос
/ 23 июля 2012

Если у вас установлено несколько серверов mysql, убедитесь, что вы используете правильный MYSQL или измените настройки пути.Например:

/opt/lampp/bin/mysql -u root -p 

У меня установлен XAMPP, решение сработало для меня.

1 голос
/ 29 июня 2011

Похоже, что он не может создать файл в / var / lib / mysql /. Если вы посмотрите на ошибку 13, это, как правило, означает ошибки разрешения.

1) Убедитесь, что mySQL может записывать в каталог / var / lib / mysql и / или mySQL владеет этим каталогом. Сделайте:

cd /var/lib ; ls -la | grep mysql

Конечно.

2) Если вы пытаетесь начать с пользователя mySQL, запустите его с правами суперпользователя (возможно, это так, но стоит проверить).

3) Если вы используете что-то вроде SElinux, убедитесь, что вы включили его для доступа к MySQL. Я сомневаюсь, что это так, но это стоит проверить.

4) Небольшое примечание: не создавайте файл sock - mysql создаст его, как только он будет запущен и работает должным образом. Если он все еще находится в каталоге выполнения, удалите его.

0 голосов
/ 02 мая 2016

Вы пробовали?

sudo touch /etc/apparmor.d/local/usr.sbin.mysqld

Больше информации здесь: https://askubuntu.com/a/127029

0 голосов
/ 23 марта 2015

Попробуйте убить сокет с помощью (это может зависеть от вашей ОС)

rm /var/lib/mysql/mysql.sock rm: удалить сокет `/var/lib/mysql/mysql.sock '? Y перезапустите сервис

служба mysqld start

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...