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

Systemctl зависает при попытке запустить MySQL в Fedora

Когда я пытаюсь запустить Mysql в Fedora через systemctl start mysqld.service, он зависает бесконечно и никогда не запускается. Бег mysqld_safe --skip-grant-tables & или mysqld_safe --nowatch --basedir=/usr запускает сервер нормально, указывая, что база данных все еще существует, но используя service или systemctl совсем не работает. Ничего не показано в /var/log/mysqld.log. Однако в `/ var / log / messages отображаются тысячи сообщений, например:

Oct 29 15:55:52 myserver systemd[1]: mysqld.service holdoff time over, scheduling restart.
Oct 29 15:55:52 myserver systemd[1]: Job pending for unit, delaying automatic restart.

Как мне определить, что не так, и запустить MySQL?

mysqld и mysqld_safe - это разные двоичные файлы с разными «интерпретациями» файла конфигурации. Проверьте эта ссылка чтобы узнать об этом больше. Чаще всего случается, что одно из значений my.cnf находится не на своем месте, препятствуя запуску mysqld.service, но это значение конфигурации игнорируется mysqld_safe.

Вы также можете попробовать запустить:

mysqld --help --verbose

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

в my.cnf вы можете указать команды для каждой "интерпретации"

чтобы ты мог иметь

[MySQL]
порт = 3309

[mysqld]
порт = 3309

[mysqladmin]
[порт = 3309]

пока используется файл по умолчанию с каждым двоичным файлом, любой из трех двоичных файлов будет подключаться к tcp / 3309

такое несоответствие случается иногда и раздражает

Я не уверен, в чем заключалась первоначальная причина или основная проблема, но переустановка пакетов mysql и последующая перезагрузка устранили ее.

yum reinstall mysql mysql-server
reboot