Mysql не запускает Windows 10

Обновлено: 29.06.2024

Последнее обновление: 11 марта 2021 г.

Автор: Уриэль Амар

В этой статье описывается процесс устранения следующей ошибки MySQL® для Windows®:

Решение зависит от вашей версии MySQL. Попробуйте найти решения в порядке, указанном в следующих разделах.

Перезапустите службу

Перезапустите службу MySQL, выполнив следующую команду:

Вам нужно войти в систему как root или использовать sudo -i для запуска этой команды.

Переустановите службу

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

Проверьте файл конфигурации my.ini

Некоторые версии MySQL добавляют недопустимые шестнадцатеричные значения в начало файла конфигурации my.ini. Удаление первых трех шестнадцатеричных значений с помощью шестнадцатеричного редактора должно решить эту проблему. Это происходит из-за проблемы со строкой скрипта. Строка указывает, что каждый файл должен иметь уникальный идентификатор, который затем добавляет порядок байтов для маркировки текстового файла.

Если у вас есть резервная копия исходного файла my.ini, вы можете скопировать содержимое этого файла и вручную вставить его в текущий файл my.ini, чтобы решить эту проблему.

Проверьте разрешения сетевой службы

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

Щелкните правой кнопкой мыши папку Data.

Выберите свойства.

Выберите вкладку "Безопасность".

Нажмите "Дополнительно".

Нажмите «Изменить разрешения…».

Нажмите «Добавить…».

Войдите в СЕТЕВОЙ СЕРВИС .

Нажмите "Проверить имена".

Нажмите "ОК".

Выберите Полный доступ.

Проверить наличие отсутствующих файлов по умолчанию

Возможно, файлы по умолчанию отсутствуют. Выполните действия, описанные в этом разделе, чтобы проверить наличие отсутствующих файлов по умолчанию:

Откройте командную строку.

Перейдите к MySQL *bin* и выполните следующую команду:

Если в нем указана отсутствующая папка по умолчанию, следует создать новый файл по умолчанию.

Поделитесь этой информацией:

© 2020 Rackspace США, Inc.

Если не указано иное, содержимое этого сайта находится под лицензией Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License

В этом разделе приведены рекомендации по устранению неполадок при запуске сервера. Дополнительные рекомендации для систем Windows см. в Разделе 2.3.5, «Устранение неполадок при установке Microsoft Windows MySQL Server».

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

Проверьте журнал ошибок, чтобы узнать, почему сервер не запускается. Файлы журнала расположены в каталоге данных (обычно C:\Program Files\MySQL\MySQL Server 8.0\data в Windows, /usr/local/mysql/data для бинарного дистрибутива Unix/Linux и /usr/local/var для исходный дистрибутив Unix/Linux). Найдите в каталоге данных файлы с именами вида host_name .err и host_name .log , где host_name — имя хоста вашего сервера. . Затем просмотрите последние несколько строк этих файлов. Используйте хвост, чтобы отобразить их:

Укажите любые специальные параметры, необходимые для используемых вами механизмов хранения. Вы можете создать файл my.cnf и указать параметры запуска для двигателей, которые вы планируете использовать. Если вы собираетесь использовать механизмы хранения, которые поддерживают транзакционные таблицы (InnoDB, NDB), убедитесь, что вы настроили их так, как хотите, перед запуском сервера. Если вы используете таблицы InnoDB, см. Раздел 15.8, «Конфигурация InnoDB» для рекомендаций и Раздел 15.14, «Параметры запуска InnoDB и системные переменные» для синтаксиса параметров.

Хотя механизмы хранения используют значения по умолчанию для параметров, которые вы опускаете, Oracle рекомендует просмотреть доступные параметры и указать явные значения для всех параметров, значения по умолчанию которых не подходят для вашей установки.

Убедитесь, что сервер знает, где найти каталог данных. Сервер mysqld использует этот каталог в качестве своего текущего каталога. Здесь он ожидает найти базы данных и записать файлы журналов. Сервер также записывает файл pid (идентификатор процесса) в каталог данных.

Расположение каталога данных по умолчанию жестко задано при компиляции сервера. Чтобы определить параметры пути по умолчанию, вызовите mysqld с параметрами --verbose и --help. Если каталог данных находится где-то еще в вашей системе, укажите это местоположение с параметром --datadir для mysqld или mysqld_safe в командной строке или в файле параметров. В противном случае сервер не работает должным образом. В качестве альтернативы параметру --datadir вы можете указать mysqld расположение базового каталога, в котором установлена ​​MySQL, с параметром --basedir , и mysqld будет искать там каталог данных.

Чтобы проверить результат указания параметров пути, вызовите mysqld с этими параметрами, за которыми следуют параметры --verbose и --help.Например, если вы измените местоположение на каталог, в котором установлен mysqld, а затем выполните следующую команду, она покажет результат запуска сервера с базовым каталогом /usr/local :

Вы также можете указать другие параметры, такие как --datadir, но --verbose и --help должны быть последними параметрами.

Определив нужные параметры пути, запустите сервер без --verbose и --help .

Если mysqld в данный момент запущен, вы можете узнать, какие настройки пути он использует, выполнив эту команду:

host_name — это имя хоста сервера MySQL.

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

Если вы получаете код ошибки 13 (что означает отказ в доступе) при запуске mysqld, это означает, что привилегии каталога данных или его содержимого не разрешают доступ к серверу. В этом случае вы меняете разрешения для задействованных файлов и каталогов, чтобы сервер имел право их использовать. Вы также можете запустить сервер как root , но это создает проблемы безопасности и этого следует избегать.

Измените местоположение на каталог данных и проверьте владельца каталога данных и его содержимого, чтобы убедиться, что сервер имеет доступ. Например, если каталог данных /usr/local/mysql/var , используйте эту команду:

Если каталог данных, его файлы или подкаталоги не принадлежат учетной записи, которую вы используете для запуска сервера, измените их владельца на эту учетную запись. Если учетная запись называется mysql , используйте следующие команды:

Даже при правильном владении MySQL может не запуститься, если в вашей системе запущено другое программное обеспечение безопасности, которое управляет доступом приложений к различным частям файловой системы. В этом случае перенастройте это программное обеспечение, чтобы разрешить mysqld доступ к каталогам, которые он использует во время нормальной работы.

Убедитесь, что сетевые интерфейсы, которые сервер хочет использовать, доступны.

Если возникает одна из следующих ошибок, это означает, что какая-то другая программа (возможно, другой сервер mysqld) использует порт TCP/IP или файл сокета Unix, который пытается использовать mysqld:

Используйте команду ps, чтобы определить, запущен ли другой сервер mysqld. Если это так, выключите сервер перед повторным запуском mysqld. (Если работает другой сервер, и вы действительно хотите запустить несколько серверов, вы можете найти информацию о том, как это сделать, в Разделе 5.8, «Запуск нескольких экземпляров MySQL на одном компьютере».)

Если никакой другой сервер не запущен, выполните команду telnet your_host_name tcp_ip_port_number . (Номер порта MySQL по умолчанию — 3306.) Затем нажмите Enter пару раз. Если вы не получили сообщения об ошибке, такого как telnet: Невозможно подключиться к удаленному хосту: Отказано в подключении, какая-то другая программа использует порт TCP/IP, который пытается использовать mysqld. Отследите, что это за программа, и отключите ее, или скажите mysqld слушать другой порт с опцией --port. В этом случае укажите тот же номер порта не по умолчанию для клиентских программ при подключении к серверу с помощью TCP/IP.

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

Если сервер запускается, но вы не можете к нему подключиться, убедитесь, что у вас есть запись в /etc/hosts, которая выглядит следующим образом:

Если вы не можете запустить mysqld, попробуйте создать файл трассировки, чтобы найти проблему, используя параметр --debug. См. Раздел 5.9.4, «Пакет DBUG».

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

Итак, я установил MySQL Workbench и сервер. Я вхожу в Workbench как root. На панели инструментов я нажимаю «Сервер», затем «Запуск / завершение работы» и там я нажимаю кнопку «Запустить сервер». Но всякий раз, когда я это делаю, я получаю следующий журнал:

Кроме того, появляется всплывающее окно с текстом:

Ошибка подключения

Не удалось подключиться к MySQL: невозможно подключиться к серверу MySQL на «localhost» (10061) (код 2003)

В одном найденном мной решении предлагалось установить сервер вручную. Поэтому я зашел в cmd от имени администратора и набрал:

Это дало следующий результат:

Но в Workbench сервер по-прежнему остановлен, и при попытке запустить его, как указано выше, появляются те же журналы с тем же всплывающим окном и ошибкой.

В другом найденном мной решении предлагается установить MySQL Notifier и использовать его для запуска и остановки сервера, а также для управления отслеживаемыми элементами. Но, честно говоря, как только я перезапущу workbench и попытаюсь войти в систему как root, он даже не войдет в систему, а выдаст следующую всплывающую ошибку:

Не удается подключиться к серверу базы данных

Попытка подключения пользователя root с вашего хоста к серверу по адресу localhost:3306 не удалась:
Плагин аутентификации «перехватывает пароль sha2» не может быть загружен: Das angegebene Modul wurde nicht gefunden.

Пожалуйста:
1 Убедитесь, что mysql работает на сервере localhost
2 Убедитесь, что mysql работает на порту 3306 (примечание: 3306 — это по умолчанию, но это можно изменить)
3 Убедитесь, что у root есть права на подключение к локальному хосту с вашего адреса (права mysql определяют, какие клиенты могут подключаться к серверу с каких машин)
4 Убедитесь, что вы оба при необходимости укажите пароль и используйте правильный пароль для локального подключения с адреса хоста, с которого вы подключаетесь

Итак, теперь этот "Плагин аутентификации "перехват пароля sha2" не может быть загружен:" выглядит подозрительно, и я попытался найти его. Я нашел это решение, которое требует, чтобы я вошел в MySQL из cmd, но когда я набираю C:\Program Files\MySQL\MySQL Server 8.0\bin>mysql -u root -p и выполняю его, он запрашивает пароль, который я предоставить, но затем он отвечает

ОШИБКА 1045 (28000): доступ запрещен для пользователя 'root'@'localhost' (используется пароль: YES)

Теперь я уперся в стену и не знаю, как продолжить. Сервер MySQL по-прежнему не работает, и я в отчаянии.

Я установил сервер MySQL на свой компьютер, и при первой установке он запустился автоматически. Теперь я перезагрузил свой компьютер, он больше не работает. Какой файл мне нужно запустить, чтобы снова запустить его?

Я попытался запустить клиент командной строки MySQL 5.6 и mysqld.exe из каталога Program Files/MySQL/MySQLServer/bin, но безуспешно.

При запуске mysqld.exe я получаю следующую ошибку:

Естественно, я попробовал запустить его от имени администратора и получил следующее:

5 ответов 5

Убедитесь, что mysqld.exe установлен на вкладке «Автозагрузка», когда вы запускаете и вводите msconfig . То же самое касается Services , найдите там службы MySQL, щелкните правой кнопкой мыши > свойства и убедитесь, что типы запуска выбраны как автоматические.

Вы пытались запустить его вручную? Просто запустив mysqld.exe? Точные услуги могу только завтра уточнить на работе, не знаю их из головы.

Если вы установили MySQL с помощью установщика MSI, его следует настроить как службу.

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

  • Откройте значок "Службы" на панели управления.
  • Пролистайте в алфавитном порядке до службы MySQL
  • Нажмите правой кнопкой мыши на сервис
  • Нажмите Запустить службу
  • Открыть окно DOS
  • В командной строке C: запустите: net start mysql или 'net start mysql57'. Правильное имя может отличаться в вашей системе.

Если вы получили эту ошибку

тогда вы не запускали окно DOS от имени администратора. Попробуйте еще раз от имени администратора. Вы должны увидеть:

Спасибо, но я подумал, что лучше всего будет запускать сервер mysql без прав администратора, скажите, пожалуйста

У меня была аналогичная проблема, и позже я обнаружил, что кодировка файла my.ini меняется, если вы открываете его из блокнота. Откройте файл в Notepad++ и обязательно обратите внимание на кодировку файла .ini (чаще всего это UTF-8). Если кодировка файла изменится, служба SQL не запустится. Убедитесь, что новый каталог, в котором задан путь к данным, имеет разрешения для учетной записи, которая запускает службу mySQLd в Windows (чаще всего это сетевая служба).

Была та же проблема, внес некоторые изменения в файл my.ini в Блокноте, видимо, он изменил кодировку. Правильная кодировка — UTF-8.

Если вы используете wamp в Windows, вы можете запустить mysql из командной строки:

Это предполагает, что вы установили wamp в корень

Чтобы запустить сервер mysql вручную, вы должны запустить исполняемый файл mysqld. Откройте командную строку и введите:

Если mysqld не запускается, проверьте журнал ошибок. Журнал ошибок находится в папке C:\Program Files\MySQL\MySQLServer\data. Это файл с расширением .err. Вы также можете попробовать запустить сервер как mysqld --console; в этом случае вы можете получить на экране некоторую полезную информацию, которая может помочь решить проблему.

Читайте также: