Не удалось запустить MySQL Job

Я на Kubuntu 12.04, и после установки mysql через apt-get (mysql ver: 5.5.35), я пытаюсь запустить службу mysql, но я получил эту ошибку:

sudo service mysql start

start: Не удалось запустить задание

Итак, я googled эта проблема, она говорит, что я должен перейти в /var/log/mysql/error.log

Но мой файл error.log пуст: (

Затем я проверил разрешения

drwxr-s --- 2 mysql adm 4096 7 апреля 11:21 mysql

-rw-r ----- 1 mysql adm 0 Апр 7 11:21 error.log

Так что я не знаю, что делать... Почему эта ошибка? Почему файл ошибки пуст?

Ответ 1

Сначала создайте резервную копию своего/var/lib/mysql/каталога, чтобы быть в безопасности.

sudo mkdir /home/<your username>/mysql/
cd /var/lib/mysql/
sudo cp * /home/<your username>/mysql/ -R

Следующая очистка MySQL (это приведет к удалению php5-mysql и phpmyadmin, а также к ряду других библиотек, поэтому будьте готовы переустановить некоторые элементы после этого.

sudo apt-get purge mysql-server-5.1 mysql-common

Удалите папку/etc/mysql/и ее содержимое

sudo rm /etc/mysql/ -R

Затем проверьте, что ваши старые файлы базы данных все еще находятся в /var/lib/mysql/, если они не затем копируют их обратно в папку, а затем chown root: root

(только запускать их, если файлов больше нет)

sudo mkdir /var/lib/mysql/
sudo chown root:root /var/lib/mysql/ -R
cd ~/mysql/
sudo cp * /var/lib/mysql/ -R

Следующая установка сервера mysql

sudo apt-get install mysql-server

Наконец, переустановите все отсутствующие пакеты, такие как phpmyadmin и php5-mysql.

Ответ 2

Моя проблема закончилась. Digital Ocean имеет отличную инструкцию для добавления памяти подкачки для Ubuntu: https://www.digitalocean.com/community/tutorials/how-to-add-swap-on-ubuntu-14-04

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

Ответ 3

Переустановка будет работать, потому что она будет reset всем значением по умолчанию. Лучше узнать, что представляют собой настоящие виновники (ошибка редактирования my.cnf, например, неверное/устаревшее предложение параметра во время настройки mysql.)

Вот диагностика mysql, если вы подозреваете, что некорректное значение внутри my.cnf: запустите mysqld, чтобы показать результаты.

sudo -u mysql  mysqld 

После этого исправьте всю ошибку ключа my.cnf, которая появляется на экране до тех пор, пока не запустится запуск mysqld.

Затем перезапустите его, используя

sudo service mysql restart

Ответ 4

В большинстве случаев просто очистка пакета mysql-сервера и его повторная установка будут выполнять эту работу.

Выполнить

sudo apt-get purge mysql-server-5.1 mysql-common

за которым следует

sudo apt-get install mysql-server

Ответ 5

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

Ответ 6

Эта строка решила проблему в моем случае,

sudo apt clean

Ответ 7

Проверьте права доступа к файлу, если отредактировано

Сбой:

$ sudo chmod 776 /etc/mysql/my.cnf
$ sudo service mysql restart
mysql stop/waiting
start: Job failed to start

Ok:

$ sudo chmod 774 /etc/mysql/my.cnf
$ sudo service mysql restart
stop: Unknown instance:
mysql start/running, process 9564

Ответ 8

Для данного решения требуется достаточно свободного жесткого диска, актуальной проблемой является нехватка памяти на жестком диске. Итак, если у вас нет альтернативного сервера или свободного места на диске, вам нужна другая альтернатива.

Я столкнулся с этой ошибкой с моим производственным сервером (Linode VPS), когда я запускал массовую загрузку в MySQL. Это не правильное решение, но ОЧЕНЬ БЫСТРОЕ ИСПРАВЛЕНИЕ, которое нам часто нужно в производстве, чтобы принести вещи UP FAST.

  • Измените размер нашего VPS-сервера на более высокий размер жесткого диска.
  • Запустите MySQL, он работает.
  • Войдите в свой экземпляр MySQL и внесите соответствующие корректировки, вызвавшие эту ошибку (например, удалите некоторые записи, таблицу или возьмите резервную копию БД на ваш локальный компьютер, которые не требуются при производстве, и т.д. В конце концов, вы знаете, что вызвало эту проблему.)
  • Снизьте свой VPS-сервер до предыдущего пакета, который вы уже использовали

Ответ 9

В моем случае я делаю:

  • sudo nano /etc/mysql/my.cnf
  • поиск bind имен и IP-адресов
  • удалить конкретный и разрешить только localhost 127.0.0.1 и имя хоста

Ответ 10

В моем случае:

  • сервер перезагрузки
  • перезапустить mysql
  • создать .socket в каталоге

Ответ 11

У меня такая же проблема. Но я обнаружил, что мой HD полон.

$ sudo cat /var/log/upstart/mysql.log
/proc/self/fd/9: ERROR: The partition with /var/lib/mysql is too full!

Итак, я бегу

$ df -h

И я получил сообщение

/dev/xvda1      7.8G  7.4G     0 100% /

Затем я выяснил, какая папка заполнена, выполнив следующую команду на терминале.

$ cd /var/www
$ for i in *; do echo $i; find $i |wc -l; done

Это даст мне количество файлов в каждой папке в /var/www. Я вошел в папку с большинством файлов и удалил некоторые резервные файлы, и я продолжил удалять ненужные файлы и файлы кэша.

затем я запускаю $ sudo/etc/init.d/mysql start и он снова работает

Ответ 12

Чтобы помочь другим, у кого нет полного диска, решить эту проблему, сначала проверьте журнал ошибок (для меня путь указан в моем файле /etc/mysql/my.cnf):

tail /var/log/mysql/error.log

Моя проблема оказалась новым IP-адресом, выделенным после некоторой реконфигурации сетевого маршрутизатора, поэтому мне нужно было изменить переменную bind-address.