Я получаю эту ошибку при попытке войти в MySQL из командной строки:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Я думаю, это означает, что MySQL еще не запущен. Итак, я пытаюсь начать это:
sudo /etc/init.d/mysql start
и я получаю это сообщение:
* Starting MySQL database server mysqld [fail]
Где я могу посмотреть / что мне сделать, чтобы запустить MySQL? Я использую Ubuntu 8.04 и установил MySQL через apt-get. Я был в состоянии начать это и использовал это пару раз, таким образом я не знаю, почему это просто прекратило работать.
Обновление: при запуске статуса sudo /etc/init.d/mysql я получаю сообщение:
* MySQL is stopped.
Обновление № 2. Мои файлы журналов (/var/log/mysql.log & /var/log/mysql.err) пусты (если они правильные)
Ответы:
В Ubuntu 12.04 у меня была такая же проблема после изменения размеров буфера в файле /etc/mysql/my.cnf, думаю, я немного увлекся. В любом случае, после попытки вернуть их к настройкам по умолчанию MySQL все равно не запустится.
Я попробовал несколько разных способов, чтобы решить эту проблему, я заметил, что /var/run/mysql/mysql.sock отсутствует. Это может быть проблемой, поэтому вы можете проверить там, и если он отсутствует, вы можете заменить его, выполнив следующие действия:
Это НЕ решило проблему для меня! Но это может для некоторых.
Мне нужно было полностью переустановить MySQL, для этого вам нужно будет использовать команду sudo. Шаги для полного удаления и переустановки MySQL следующие:
Удалить MySQL
При желании вы можете использовать aptitude, заменив apt-get --purge на aptitude
Очистить
Удалить каталог MySQL
Установите MySQL
MySQL должен теперь работать, вы можете проверить это, выполнив следующее:
Тебе следует увидеть
Надеюсь, что это поможет, и подумал, что я мог бы добавить после этого все мои базы данных и таблицы, где они еще доступны, однако мне пришлось воссоздать пользователей и пароли для этих баз данных.
Примечание. Если у вас есть расширение mysql для php, вам также потребуется переустановить его.
источник
sudo touch /var/run/mysqld/mysqld.sock
и я узнал об этом с конца/var/log/syslog
(например, изменение на mysqld)/var/run/mysqld
или/var/run/mysql
?ВНИМАНИЕ: это опасно, ваш mysql НЕ будет в безопасности, и любой сможет подключиться, отредактировать и т. Д. Ваши таблицы, не оставляйте сервер работающим с этой командой.
Попробуйте запустить его в безопасном режиме:
/usr/local/mysql/bin/safe_mysqld --user=mysql --skip-grant-tables
Если это работает, то могут быть проблемы с вашей information_schema или вашими таблицами mysql. Если это не работает, значит что-то не так с вашей установкой.
источник
sudo /usr/bin/mysqld_safe --user=mysql --skip-grant-tables
Проверьте ваши файлы журнала, как в других ответах. Также проверьте, достаточно ли у вас (или свободного места на диске). MySQL может вести себя таким образом на пустом разделе.
df -h
Если это не так, ознакомьтесь с документацией MySQL по отладке сервера . Их
myisamchk
(если вы используете MyISAM) особенно полезно.источник
Я также недавно получил эту проблему после обновления Ubuntu. Еще не уверен, в чем именно проблема. Один worakround, который работал на данный момент, чтобы запустить MySQL, хотя должен был сделать:
Это заставляет его работать, указывая, что apparmor остановил работу mysql, и объясняя, почему журналы, вероятно, тоже пусты: mysql не был разрешен к запуску.
Это остается странной проблемой, так как пока нет никаких «жалоб» на это
/var/log/apparmor
, и единственная запись аудита в kern.log - от изменения профиля до режима подачи жалоб.Обратите внимание, что при этом я также добавил (пустой)
/etc/apparmor.d/local/usr.sbin.mysql
файл, поскольку команда aa-complain пожаловалась на то, что не нашла этот файл.источник
У меня была та же проблема с моей цифровой каплей объемом 512 МБ.
Оказалось, это связано с нехваткой памяти.
Непосредственным решением является перезапуск других служб для освобождения памяти, например.
Тогда, надеюсь, с достаточным объемом памяти, вы сможете перезапустить MySQL
Долгосрочное решение - либо получить больше оперативной памяти, либо создать подкачку памяти .
источник
Посмотрите на ваши файлы журнала. По крайней мере, на Debian вы получаете mysql * вход в систему
/var/log
.источник
Если бы эта же проблема, оказалось, решение смотрело мне в лицо. Диск был полон. Вы не получаете журналы, потому что нет, где их писать .....
источник
Та же проблема мучила меня целую вечность на Ubuntu 12.04 Digital Ocean VPS с mysql 5.6, установленным из PPA. Симптомами было то, что файл mysql.sock в
/var/run/mysqld/mysql.sock
мог быть удален, но никогда не воссоздан, поэтому мне приходилось вручную запускать следующие команды каждый раз, когда mysql обновлялся или сервер перезагружался:Это было из ответа Кайла Си (за исключением mysqld вместо mysql). В конце концов, я опустился до версии 5.5, которая приходит, когда вы обычно выполняете
sudo apt-get install mysql-server
команду. Однако это было не так просто, вот что я должен был сделать:Надеюсь, это поможет кому-то, кто испытывает такую же боль.
источник
думаю, что это может помочь другим ... так что вот оно.
Я хотел перенести мой mysql 5.5 (по умолчанию в Ubuntu) на новый 5.7
(хотел поиграться с новым собственным типом JSON)
Я следовал инструкциям для установки последней версии ....
но MySQL не хотел запускаться.
Потратил некоторое время на поиск, а затем нашел эту строку в
/var/log/mysql/errors.log
:unknown variable 'key_buffer=16M'
и это то, что установлено
/etc/mysql/my.cnf
во время обновления, я решил оставить.Так, довольно легко после того, что:
заменил мой
my.cnf
сmy.cnf.dpkg-dist
версией , расположенной в той же директории ...Тогда пришлось бежать
sudo mysql_upgrade -u root -p sudo service mysql restart
и теперь MySQL снова работает и работает
источник
Нашел еще один вариант того, что может быть не так. Я переместил каталог данных, и оказалось, что я забыл сократить каталог для пользователя mysql, который также завершается ошибкой без вывода. Задним числом, очевидно, неправильно, но отсутствие сообщения об ошибке затрудняет поиск каждой тривиальной проблемы.
источник