2.3.4 Устранение неполадок при установке сервера Microsoft Windows MySQL
При первой установке и запуске MySQL могут возникнуть ошибки, препятствующие запуску сервера. Этот раздел поможет вам диагностировать и исправить некоторые из этих ошибок.
Первым ресурсом при устранении проблем с сервером является журнал ошибок. Сервер MySQL использует журнал ошибок для записи информации, относящейся к ошибке, препятствующей запуску сервера. Журнал ошибок находится в каталоге, указанном в вашем файле my.ini. По умолчанию, каталог данных находится по адресу C:\Program Files\MySQL\MySQL
Server 8.4\data или C:\ProgramData\Mysql в Windows 7 и Windows Server 2008. Каталог C:\ProgramData по умолчанию скрыт. Вам необходимо изменить параметры папок, чтобы увидеть каталог и его содержимое. Более подробную информацию о журнале ошибок и его содержании см. в разделе 7.4.2 «Журнал ошибок».
Для получения информации о возможных ошибках также обратитесь к сообщениям, отображаемым в консоли при запуске службы MySQL. Используйте команду SC START mysqld_service_name или NET START mysqld_service_name из командной строки после установки mysqld как службы, чтобы увидеть сообщения об ошибках, связанные с запуском сервера MySQL как службы. См. раздел 2.3.3.8 «Запуск MySQL как службы Windows».
В следующих примерах показаны другие распространённые сообщения об ошибках, которые могут возникнуть при установке MySQL и первом запуске сервера:
-
Если сервер MySQL не может найти базу данных привилегий
mysqlили другие критические файлы, он отображает эти сообщения:System error 1067 has occurred. Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist
Эти сообщения часто возникают, когда базовые или каталоги данных MySQL установлены не по умолчанию (
C:\Program Files\MySQL\MySQL Server 8.4иC:\Program Files\MySQL\MySQL Server 8.4\data, соответственно).Это может произойти при обновлении MySQL и установке его в новое место, но файл конфигурации не обновлен для отражения нового расположения. Кроме того, старые и новые файлы конфигурации могут конфликтовать. Убедитесь, что вы удаляете или переименовываете старые файлы конфигурации при обновлении MySQL.
Если вы установили MySQL в каталог, отличный от
C:\Program Files\MySQL\MySQL Server 8.4, убедитесь, что сервер MySQL об этом знает, используя файл конфигурации (my.ini). Поместите файлmy.iniв ваш каталог Windows, обычноC:\WINDOWS. Чтобы определить точное расположение из значения переменной средыWINDIR, выполните следующую команду из командной строки:C:\>
echo %WINDIR%Вы можете создать или изменить файл опций с помощью любого текстового редактора, например, Блокнот. Например, если MySQL установлен в
E:\mysql, а каталог данных — вD:\MySQLdata, вы можете создать файл опций и настроить раздел[mysqld], чтобы указать значения для параметровbasedirиdatadir:[mysqld] # set basedir to your installation path basedir=E:/mysql # set datadir to the location of your data directory datadir=D:/MySQLdata
Пути к файлам в Microsoft Windows в файлах опций указываются с использованием слешей (вместо обратных слешей). Если вы используете обратные слеши, используйте их дублирование:
[mysqld] # set basedir to your installation path basedir=C:\\Program Files\\MySQL\\MySQL Server 8.4 # set datadir to the location of your data directory datadir=D:\\MySQLdata
Правила использования обратных слешей в значениях файлов опций приведены в разделе 6.2.2.2 «Использование файлов опций».
Если вы измените значение
datadirв файле конфигурации MySQL, перед перезапуском сервера MySQL необходимо перенести содержимое существующего каталога данных MySQL. -
Если вы переустанавливаете или обновляете MySQL без предварительной остановки и удаления существующей службы MySQL, а затем настраиваете MySQL с помощью MySQL Configurator, вы можете увидеть эту ошибку:
Error: Cannot create Windows service for MySql. Error: 0
Это происходит, когда Мастер настройки пытается установить службу и находит существующую службу с тем же именем.
Одним из решений этой проблемы является выбор другого имени службы, отличного от
mysql, при использовании мастера настройки. Это позволит корректно установить новую службу, но оставит устаревшую службу на месте. Хотя это безопасно, лучше удалять устаревшие службы, которые больше не используются.Чтобы окончательно удалить устаревшую службу
mysql, выполните следующую команду от имени пользователя с правами администратора в командной строке:C:\>
SC DELETE mysql[SC] DeleteService SUCCESSЕсли утилита
SCнедоступна для вашей версии Windows, скачайте утилитуdelsrvс http://www.microsoft.com/windows2000/techinfo/reskit/tools/existing/delsrv-o.asp и используйте синтаксисdelsrv mysql.
© 2025 Oracle
Licensed under the GPLv2 License.