You should start by checking the error log and/or the startup message log when managing the instance using MySQL Workbench. There could be clues as to what is going wrong, which may be different than this scenario.
When I had this issue, it was because I used a space in the service name during installation. While it is technically valid, you should not do that. It seems that the MySQL Installer (and MySQL Notifier) does not put the name in quotes which causes it to use an incorrect service name later on. There are two ways to fix the problem (all commands should be run from an elevated command prompt).
Reinstall the server
The first is to simply reinstall MySQL Server 5.6 using the default, no-space service name MySQL56
.
The installer uses the same value for the service name and service display name. The name that I had originally specified was for a display name, when it should have been a simple service name. After installation, if you so choose, the display name can safely be changed to use spaces and other characters by using:
sc config MySQL56 DisplayName= "MySQL 5.6"
Recreate the service
If you don’t want to reinstall the server however, you will have to recreate the service. Start by removing the old service:
mysqld --remove "service_name"
Now install the replacement. You can use --install
to create a service that starts with the system automatically, or --install-manual
to create a service that requires you to start it.
mysqld --install-manual "service_name" --local-service --defaults-file="C:\path\to\mysql\my.ini"
This creates a service that runs as the LocalService account which presents anonymous credentials on the network however. Under most circumstances this is fine, but if you want to use the NetworkService account (which is what the installer creates the service as) you can change it using the Services administrative tool.
You should start by checking the error log and/or the startup message log when managing the instance using MySQL Workbench. There could be clues as to what is going wrong, which may be different than this scenario.
When I had this issue, it was because I used a space in the service name during installation. While it is technically valid, you should not do that. It seems that the MySQL Installer (and MySQL Notifier) does not put the name in quotes which causes it to use an incorrect service name later on. There are two ways to fix the problem (all commands should be run from an elevated command prompt).
Reinstall the server
The first is to simply reinstall MySQL Server 5.6 using the default, no-space service name MySQL56
.
The installer uses the same value for the service name and service display name. The name that I had originally specified was for a display name, when it should have been a simple service name. After installation, if you so choose, the display name can safely be changed to use spaces and other characters by using:
sc config MySQL56 DisplayName= "MySQL 5.6"
Recreate the service
If you don’t want to reinstall the server however, you will have to recreate the service. Start by removing the old service:
mysqld --remove "service_name"
Now install the replacement. You can use --install
to create a service that starts with the system automatically, or --install-manual
to create a service that requires you to start it.
mysqld --install-manual "service_name" --local-service --defaults-file="C:\path\to\mysql\my.ini"
This creates a service that runs as the LocalService account which presents anonymous credentials on the network however. Under most circumstances this is fine, but if you want to use the NetworkService account (which is what the installer creates the service as) you can change it using the Services administrative tool.
MySQL Service don’t start automatically on system bootup, and when I try to start MySQL service it shows the following output
C:\Windows\system32>net start MySQL
The MySQL service is starting.
The MySQL service could not be started.
The service did not report an error.
More help is available by typing NET HELPMSG 3534.
Please suggest some way to solve the problem, if you ever came across such a problem.
asked Mar 30, 2016 at 20:40
SKGSKG
5501 gold badge5 silver badges17 bronze badges
2
My MySQL80 server failed to start because my.ini was saved with UTF-8 encoding instead of ANSI.
- Find my.ini by typing echo %PROGRAMDATA% at a command prompt and look for the MySQL directory.
- Open my.ini in Notepad and use File -> Save As…
- In the Encoding select list by the Save button, choose ANSI and save.
answered Nov 2, 2019 at 18:00
1
The easiest way to resolve the error where the service does not start is by going into the registry as Administrator.
Navigate to HKLM\System\ControlSet001\Services\MySQL Change image path to «C:\Program Files\MySQL\MySQL Server 8.0\bin\mysql.exe» —defaults-file=C:\Program Files\MyNewSQL\bin\MyNewSQL.ini MyNewSQL
My problem (same as yours):
Current Registry Setting: C:\MySQLs\MySQLDev\bin\mysqld —defaults-file=C:/MySQLs/MySQLDev/MySQLDev.ini MySQLDev
Change Registry Setting to: C:\MySQLs\MySQLDev\bin\mysqld.exe —defaults-file=C:/MySQLs/MySQLDev/MySQLDev.ini MySQLDev
Rerun «net start MySQLDev»
The MySQLDev service is starting. The MySQLDev service was started successfully.
answered Feb 29, 2020 at 23:42
RadFoxRadFox
4191 gold badge4 silver badges17 bronze badges
Делаю всё по инструкции ( https://zen.yandex.ru/media/oleglav/ustanovka-vebs… ) установил apache, php, phmmyadmin, но с MySQL какая то шляпа.
ФАЙЛ my.ini :
[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
basedir="C:/Server/data/DB/"
datadir="C:/Server/data/DB/data/"
default_authentication_plugin=mysql_native_password
port = 3306
Пробовал и без строчки порт
В сети есть одно из решений это прописать следующее в CMD
mysqld —initialize
далее
net start mysql
Но результат тот же
Через СЛУЖБЫ пытался запустить MySQL но выдаёт ошибку
the MySQL service on local computer started and then stopped. Some services stop automatically if they are not in use by other services or programs.
И выбивает ошибку :
Я знаю, что этот вопрос задавался много раз прежде, но все решения, которые я попробовал, не работали для меня.
Итак, я установил MySQL Workbench и сервер. Я вхожу в Workbench как пользователь root. На панели инструментов я нажимаю » Сервер», затем » Запуск / завершение работы» и там нажимаю кнопку » Запустить сервер». Но всякий раз, когда я делаю это, я получаю следующий журнал:
018-05-14 21:09:59 — Запуск сервера…
2018-05-14 21:10:07 — Запуск сервера завершен.
2018-05-14 21:10:09 — Проверка состояния сервера…
2018-05-14 21:10:09 — Попытка подключения к MySQL…
2018-05-14 21:10:09 — Не удается подключиться к серверу MySQL на «localhost» (10061) (2003)
2018-05-14 21:10:09 — Предполагается, что сервер не работает
Кроме того, появляется всплывающее окно, которое говорит:
Ошибка подключения
Не удалось подключиться к MySQL: не удалось подключиться к серверу MySQL на «localhost» (10061) (код 2003)
Одно решение, которое я нашел, предлагало установить сервер вручную. Поэтому я вошел в cmd как администратор и набрал:
C:\> "C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld" --install
Это дало следующий вывод:
Сервис успешно установлен.
Но в Workbench сервер все еще останавливается, и при попытке запустить его, как упомянуто выше, появляются те же журналы с тем же всплывающим окном и появляется ошибка.
Другое решение, которое я нашел, предлагало установить MySQL Notifier и использовать его для запуска и остановки сервера и использовать его для управления отслеживаемыми элементами. Но, откровенно говоря, после перезапуска рабочей среды и попытки войти в систему как пользователь root, он даже не войдет в систему, но выдаст следующую ошибку:
Не удается подключиться к серверу базы данных
Попытка соединения не удалась для пользователя ‘root’ с вашего хоста на сервер по адресу localhost:3306:
Плагин аутентификации ‘перехват пароля sha2’ не может быть загружен: Das angegebene Modul wurde nicht gefunden.Пожалуйста:
1 Убедитесь, что mysql запущен на локальном сервере
2 Убедитесь, что mysql работает на порте 3306 (примечание: 3306 по умолчанию, но это можно изменить)
3 Проверьте, есть ли у root права на подключение к localhost с вашего адреса (права mysql определяют, какие клиенты могут подключаться к серверу, с каких компьютеров)
4 Убедитесь, что вы предоставляете пароль, если это необходимо, и используете правильный пароль для локального подключения с адреса хоста, с которого вы подключаетесь.
Так что теперь этот «плагин аутентификации» перехватывающий пароль sha2 «не может быть загружен:» выглядит подозрительно, и я попытался найти это. Я нашел это решение, которое требует от меня войти в MySQL из cmd, но когда я набираю C:\Program Files\MySQL\MySQL Server 8.0\bin>mysql -u root -p
и выполнить его, он запрашивает пароль, который я предоставляю, но затем он отвечает
ОШИБКА 1045 (28000): доступ запрещен для пользователя ‘root’@’localhost’ (с использованием пароля: ДА)
Теперь я врезался в стену и не знаю, как продолжить. Сервер MySQL по-прежнему не работает, и я в отчаянии.