& ldquo; Не удалось запустить основной процесс mysql: невозможно выполнить: нет такого файла или каталога & rdquo;

[F1]
1
задан 13 April 2017 в 15:23

13 ответов

[F1]
15
ответ дан 25 May 2018 в 12:21

У меня была эта же проблема, и для меня это были логфайлы InnoDB, которые отличались от ожиданий mysql, и молчали во время обновления.

У меня был пользовательский файл конфигурации, который был уничтожен на обновить до 12.04, чтобы установить размер файла журнала на что-то другое, кроме конфигурации по умолчанию.

Вам нужно удалить файлы: / var / lib / mysql / ib_logfile *

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

12
ответ дан 25 May 2018 в 12:21
  • 1
    Ах, спасибо. Это была моя проблема. – UltimateBrent 2 September 2012 в 20:26
  • 2
    Бинго. В нашем случае разработчик изменил некоторые настройки конфигурации для innodb (и ни он, ни я не знали, что это может вызвать проблему). Это предотвратило запуск mysql. Удаление этих файлов конфигурации позволило MySQL начать. – gaoshan88 10 April 2013 в 21:36
  • 3
    Bingo - изменил настройку конфигурации для innodb_log_file_size. – tweak2 24 July 2014 в 01:02

Большинство ошибок будут отображаться, запустив сервер в подробном не-демоном режиме и просмотрев вывод:

sudo mysqld --verbose
9
ответ дан 25 May 2018 в 12:21

У меня была та же проблема, но ни один из ответов выше не помог мне. Итак, в качестве последней надежды я попытался освободить место на диске. Я просто удаляю ненужные файлы журналов из / var / log, которые освобождают пространство 2.5G. Затем MySQL начал нормально.

6
ответ дан 25 May 2018 в 12:21
  • 1
    Да, это была моя проблема. mysql не запускался во время загрузки, как это было. Позже была информация о системе, которая отображает терминал; «Использование /: 95,1%» Таким образом, для запуска mysql (и других процессов) недостаточно свободного места. Мне нужно было сделать некоторую очистку файлов, а mysql начался без проблем. – Screenack 4 July 2013 в 18:34
  • 2
    Это был мой случай. Очистка диска и Mysql начинают работать. – Sergey Romanov 11 March 2014 в 19:13

Это иногда случается, и хотя есть несколько различных проблем, которые могут заставить mysql не запускаться, я напишу здесь некоторые из наиболее распространенных из них, которые я знаю:

ПРИМЕЧАНИЕ. - Потому что объяснение наиболее распространенных проблем Я предполагаю, что вы уже пытались удалить и установить или просто переустановить службу mysql следующим образом:

Установить - sudo apt-get install mysql-server mysql-client Удалить - sudo apt-get remove mysql-server mysql-client Очистить (Удалить файлы + Конфигурация) - [ f3] Для переустановки - sudo apt-get install --reinstall mysql-server mysql-client

my.cnf файла нет в каталоге по умолчанию. Он должен быть (по умолчанию) расположен как в /etc/my.cnf, так и /etc/mysql/my.cnf. Недостаточно места на жестком диске, где находятся файлы данных mysql. Если Базы данных становятся слишком большими и принимают 100% жесткого диска, служба будет терпеть неудачу. После обновления проверьте, что файл my.cnf находится в правильном месте. В зависимости от того, как вы обновили или с какой версии вы обновили, она может быть в /etc/my.cnf или /etc/mysql/my.cnf, как упоминалось ранее. Также помните, что файл также можно назвать mysql.conf, а не только my.cnf. Это происходит в случаях, когда вы загрузили двоичный файл из mysql.com. Выполнение dmesg, чтобы увидеть, что служба mysql бросает как сообщение об ошибке, помогает, так как оно дает ошибку загрузки. Это может также сказать, почему это происходит. Если вы наберете dmesg один в терминале, он покажет вам мир. Нам нужна информация о mysql, так что сделайте что-то вроде этого: dmesg | grep mysql это вызовет любые строки, содержащие mysql. Проверьте правильность файла my.cnf или mysql.conf. В 12.04 MySQL - версия 5.5, в 11.10 - версия 5.1. Он может иметь некоторые изменения в файле conf (на самом деле это не проверял), и это может показаться глупым, но это наверняка может дать вам некоторые проблемы. Ошибки, связанные с проблемами сокета, обычно являются ошибкой файла my.cnf или mysql.conf, указывающего на неправильное место, они обычно отображаются как: невозможно подключиться к локальному серверу MySQL через сокет '/ var / run / mysqld / mysqld.sock 'Другой источник этой проблемы связан с файлом mysql в /etc/init.d, указывающим на неправильную папку, поскольку он может использовать более старый скрипт, чем тот, который необходим для фактического mysql в системе ( Возможно, он не обновился правильно, не перезаписал файл конфигурации и т. Д.). Поэтому просто отредактируйте любой из этих двух файлов и посмотрите, указывают ли они где-то в другом месте, а затем просто выполните sudo service mysql restart, чтобы проверить, работает ли он. Чтобы лучше просмотреть выходные данные ошибки mysql, выполните следующие действия: cat /var/log/mysql.err - покажет вам ошибки mysql. Я сделал бы это так cat /var/log/mysql.err | less, если вам посчастливилось увидеть слишком много информации, поскольку less поможет вам прокрутить свой путь через вывод cat. То же самое касается cat /var/log/mysql.log Если вы видите ошибку, возможно, поставив ее в вопросе или, как комментарий, ответьте на это быстрее. Если у вас возникли проблемы с подключением и служба, на которой она фактически запущена, попробуйте проверить, разрешает ли брандмауэр серверу подключение через порт 3306 (входящие соединения). После этого проверьте, что маршрутизатор (если он применяется) не заблокировал порт 3306. В основном выполните сетевой тест, чтобы узнать, откуда возникла проблема, связанная с портом, назначенным mysql.

Если все хорошо, проверьте, работает ли служба mysql типа service mysql status

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

my.cnf файл не находится в каталоге по умолчанию. Он должен быть (по умолчанию) расположен в файлах /etc/my.cnf или /etc/mysql/my.cnf.

my.cnf не находится в каталоге по умолчанию. Он должен быть (по умолчанию) расположен в /etc/my.cnf или /etc/mysql/my.cnf.

sudo mysqld --skip-grant-tables & (Не забудьте добавить & amp; else, вам придется открыть другой терминал. фон, и вы можете убить при использовании одного и того же терминала). Недостаточно места на жестком диске, где находятся файлы данных mysql. Если базы данных становятся слишком большими и принимают 100% жесткого диска, служба не будет работать.

Недостаточно места на жестком диске, где находятся файлы данных mysql.

UPDATE user SET Password=PASSWORD('MyPASSWORD') WHERE User='root'; FLUSH PRIVILEGES; EXIT;

Запустите службу mysqld вручную с ручной настройкой

5
ответ дан 25 May 2018 в 12:21
  • 1
    Спасибо за оперативную обратную связь. Файл my.cnf находится в /etc/mysql/my.cnf в моем случае. Правильно ли это место? dmesg дает мне огромное количество выходных данных, которое выходит за рамки моего понимания: / У меня действительно был установлен 5.1 - есть ли какие-либо последствия? – radek 27 April 2012 в 04:35
  • 2
    Не беспокойтесь о местоположении, если вы найдете файл. Позвольте мне обновить ответ, чтобы лучше рассмотреть вывод mysql в dmesg. – Luis Alvarado♦ 27 April 2012 в 05:08

У меня была такая же проблема после обновления до Ubuntu Server 12.04 LTS, запуск

sudo apt-get install mysql-server 

был достаточно, чтобы исправить это, хотя он жаловался на старую базу данных spotweb. Я исправил это, удалив spotweb:

sudo apt-get purge spotweb

и переконфигурировав mysql:

sudo dpkg-reconfigure mysql-server-5.5
4
ответ дан 25 May 2018 в 12:21

Я добавлю, что кто-то сталкивается с подобными проблемами. Я попробовал всю деинсталляцию и переустановку безрезультатно. Ключом к поиску решения было то, что выскочка помещает его в эту папку

/ var / log / upstart /

для mysql

/ var / log / upstart /

, когда я открыл его, было это сообщение

Ошибка анализатора AppArmor для /etc/apparmor.d/usr.sbin.mysqld в / etc /apparmor.d/tunables/global в строке 15: Не удалось открыть «tunables / home»

Когда я смотрел папку /etc/apparmor.d/tunables/, у меня отсутствовал домашний файл в этом поэтому я создал один файл

gedit /etc/apparmor.d/tunables/home и скопировал содержимое с другого компьютера, на котором были эти незакомментированные строки

Ошибка анализатора AppArmor для / etc / apparmor.d / usr.sbin.mysqld в /etc/apparmor.d/tunables/global в строке 15: Не удалось открыть «tunables / home»

@ {HOMEDIRS} = / home /

@ {HOME} = @ {HOMEDIRS} / * / / root /

кто-то сталкивается с аналогичной проблемой здесь

https://bugs.launchpad.net/ubuntu/ + источник / MySQL-5,5 / + ошибка / 982303

4
ответ дан 25 May 2018 в 12:21

В моем случае это было намного проще, чем некоторые ответы здесь. Я нашел связанную ошибку на панели запуска, и исправление было упомянуто там в комментарии 9:

sudo touch /etc/apparmor.d/local/usr.sbin.mysqld
sudo service apparmor restart
2
ответ дан 25 May 2018 в 12:21

После обновления я обнаружил, что mysql-server / mysql-server-5.5 не установлен и ни 5.1. Я переименовал my.cnf в my.cnf_old, и я попытался установить mysql-serven. Во время установки было сообщение об ошибке, что пароль root не может быть установлен. После этого я проверил свои конфиги, apparmor и так далее. Казалось, все в порядке. Моя следующая попытка состояла в том, чтобы перенастроить mysql-сервер, но он жаловался, что пакет не был установлен полностью. Поэтому я решил удалить и во время этого apt-get исправил пакет, и теперь он работает. Я не знаю почему, потому что ничего не изменил.

1
ответ дан 25 May 2018 в 12:21

У меня были аналогичные проблемы, но они были быстро отслежены до apparmor, которые, как я помню, дали мне эту проблему ранее.

Если вы вносите изменения в эти настройки, и ваша система использует apparmor, вам также может понадобиться также настроить /etc/apparmor.d/usr.sbin.mysqld. Например. эти строки были добавлены (чтобы разрешить символическую ссылку на my.cnf и разрешить чтение символического файла, предположительно):

/ usr / sbin / mysqld {... / etc / mysql / * .cnf lr, /path/to/symlinked/my.cnf r, ...}

1
ответ дан 25 May 2018 в 12:21

В моем случае я попытался установить MySQL на новую установку Ubuntu 12.04, но я не понял, почему он дал мне ошибку при настройке пароля для пользователя root.

Затем я решил очистить / удалить все, я удалил сервер MySQL и удалил все его папки (/ etc / mysql / and / var / lib / mysql /), в конце концов, благодаря некоторой случайности он не выдавал никаких ошибок во время переустановки, и я смог установить пароль и запустить экземпляр сервера.

1
ответ дан 25 May 2018 в 12:21

В терминале вы можете установить его еще раз и запустили my.cnf, который вы можете ввести:

sudo apt-get install mysql-server-5.1
sudo apt-get --reconfigure mysql-server-5.1
sudo apt-get update
sudo start mysql my.cnf

он может работать таким образом.

0
ответ дан 25 May 2018 в 12:21

У меня возникает проблема с тем, что добавление performance_schema в [mysqld] в /etc/mysql/my.conf вызывает этот сбой. Удалена эта строка, и mysql смог снова запуститься.

Редактировать: Оказывается Один гид бара не достаточно, чтобы запустить mysqld с включенной функцией performance_schema. Я наткнулся на 3 концерта, и он отлично работал.

0
ответ дан 25 May 2018 в 12:21

Другие вопросы по тегам:

Похожие вопросы: