Когда я пытаюсь запустить 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