служба MySQL на локальном компьютере запускается, а затем останавливается. Некоторые службы автоматически останавливаются, если они не используются другими службами или программами.
Кто-нибудь может решить эту проблему? Благодарю.
служба MySQL на локальном компьютере запускается, а затем останавливается. Некоторые службы автоматически останавливаются, если они не используются другими службами или программами.
Кто-нибудь может решить эту проблему? Благодарю.
После установки его mysqld --install
. Попробуйте mysqld --initialize
. У нас такая же проблема, но теперь она работает.
Также не забудьте предоставить разрешение NETWORK SERVICE для папки:
Data
Properties
Security
Advanced
Change Permissions...
Add...
NETWORK SERVICE
Check Names
OK
Full Control
OK
- четыре разаЕсли вы используете версию 8 и вы редактируете my.ini, я обнаружил, что Блокнот помещает 3 шестнадцатеричных символа в начало файла my.ini. EF BB BF. Удаление 3 символов из начала файла в шестнадцатеричном редакторе устраняет проблему.
В версии 8 они случайно помещают символы Unicode в INI файл. Это приводит к тому, что Блокнот сохраняет файл с символами метки порядка байтов.
Следующая строка в файле является виновником: "Строка № варьируется от 1 до 2 ^ 32 - 1." Уникальный "означает, что каждый идентификатор должен быть разным". имеет 3 символа Юникод. Это заставляет блокнот добавлять метку порядка байтов в текстовый файл.
В моем случае я попытался открыть приглашение DOS и
перейдите в каталог MySQL bin\
и выполните команду ниже:
mysqld --defaults-file="C:\Program Files\MySQL\MySQL Server 5.0\my.ini" --standalone --console
И это показывает мне, что я отсутствовал в папке "C:\Program Files\MySQL\MySQL Server 5.0\Uploads"
; Я построил один, и проблема решена.
Использование Community 8.0.17, обновлено с 8.0.16
Может быть более безопасный способ сделать это, но так как я просто запускаю dev box:
Теперь вы должны увидеть все необходимые структуры файлов данных в папке данных. Если они не созданы, у процесса mysqld есть конфликт или неправильная безопасность для правильной записи в папку.
Теперь запустите именованный сервис любым удобным для вас способом (SC/NET/service.msc и т.д.)
Предполагая, что все файлы были правильно созданы --initialize, служба запустится.
Переименуйте или удалите папку в,
C:\ProgramData\MySQL\MySQL Server 5.7
изменение имени папки в соответствии с вашим номером версии MYSQL.
Это может быть из-за изменения lower_case_table_names
после того, как сервер уже был инициализирован.
Нижние_имя_таблицы могут быть настроены только при инициализации сервера. Изменение настройки lower_case_table_names после инициализации сервера запрещено.
Решением этой проблемы является установка параметра lower_case_table_names
при установке сервера, как описано в следующем ответе:
Невозможно установить lower_case_table_names в MySQL 8.x в Windows 10
У меня ничего не получалось, но потом я проверил здесь. Я запустил эту команду qc sc mysql57
и скопировал из BINARY_PATH_NAME
значение BINARY_PATH_NAME
. После этого я проверил это и изменил значение lower_case_table_names
с 0 на 2 в файле my.ini
. Затем в командной строке я запустил эту команду - << BINARY_PATH_NAME >> --install-manual
. После этого я запустил службу MySQL57, и она заработала.
В моем случае mysqld начинал и останавливался без сообщения об ошибке. Мне нужно было открыть командную строку, используя "Запуск от имени администратора", а затем запустите mysqld.
Я делаю это только для временного развития. Я бы не рекомендовал использовать MySQL в качестве администратора в любом случае.
Это был последний шаг после устранения этих проблем.
mysqld --initialize
Запустите выше после команды установки. Затем попробуйте запустить службу - это должно работать.
Найдите файл services.msc и посмотрите, какие службы запущены, если уже есть запущенная служба mysql, отличная от той, которую вы хотите запустить (это может быть xampp или wamp), или другая служба (например, Skype), использующая тот же порт. как mysql и остановите службу, чтобы вы могли запустить службу mysql.
У меня была эта проблема после того, как моя база данных долгое время работала нормально. Оказалось, что это была некоторая порча данных.
В журнале ошибок у меня было:
2017-02-07T10:11:42.270567Z 0 [ERROR] InnoDB: Ignoring the redo log due to missing MLOG_CHECKPOINT between the checkpoint 44002250712 and the end 44002250240.
2017-02-07T10:11:42.270606Z 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error
2017-02-07T10:11:42.577436Z 0 [ERROR] Plugin 'InnoDB' init function returned error.
2017-02-07T10:11:42.577470Z 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2017-02-07T10:11:42.577484Z 0 [ERROR] Failed to initialize plugins.
2017-02-07T10:11:42.577488Z 0 [ERROR] Aborting
Затем мне пришлось удалить 2 файла ib_logfile *, и он перезапустился снова.
Эта ошибка произошла в моем случае, когда secure-file-priv указывал на несуществующую папку, убедитесь, что она существует и доступна для чтения.
Пример строки кода в my.ini: secure-file-priv="D: /MySQL/uploads"
Вы также могли случайно добавить неправильный текст в файл my.ini
. Убедитесь, что в начале файла нет недопустимых символов.
Та же проблема произошла и со мной, отметив, что работает... Сначала я удалил службу (в моем случае MySQL80 и MySQL) с помощью команды:
sc delete MySQL80
sc delete MySql
а затем переустановил MySQL. Мой был MySQL 8.0. И тогда все вернулось на круги своя.
Если вы изменили каталог данных (путь к корню базы данных в my.ini) на внешний жесткий диск, убедитесь, что жесткий диск подключен.