MySQL server error 1067 как с этим бороться?

Расскажу как я боролся с возникшей ошибкой 1067 сервера MySQL. Всё началось как обычно, решил запустить службу СУБД MySQL в Windows, которая называется mysqld.exe. Как всегда зашёл в службы и нажал запустить, после некоторого времени мне вышло окно с ошибкой 1067. Я естественно был немного удивлён и никак не ожидал увидеть подобное ведь я же там ничего не менял с момента последнего запуска сервера баз данных. Однако действовать пришлось кардинально дабы решить эту проблему. Продолжение под катом.

Итак, продолжаем бороться с ошибкой 1067 MySQL. В окне сообщения не было ничего дельного кроме надписи о том, что процесс запуска был неожиданно прерван. Первым делом пошёл смотреть логи. Файл логов имеет расширение .err и называется так же как и ваш компьютер (сетевое имя компьютера). Так вот находится этот файл в директории c:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.6\data\. К сожалению там ничего дельного написано не было и пришлось прибегнуть к помощи интернета.

Там как всегда море советов, которые не всегда уместны в вашем случае. К слову сказать эта ошибка весьма не однозначная и её причина может крыться в самых разных вещах. Главное то, что что-то у вас настроено не правильно и это что-то надо просто выявить. Естественно необходимо вспомнить, что вы меняли в системе с момента последнего запуска сервера MySQL и попытаться всё вернуть обратно. В моём же случае я ничего не менял и это усложняло сложившуюся ситуацию.

В интернете многие советуют проверить валидность основного конфигурационного файла сервера баз данных MySQL, который называется my.ini и расположен в папке c:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.6\. Кстати его расположение, естественно, может быть и другим и, что бы это точно узнать можно просто посмотреть параметры запуска службы mysqld.exe в панели служб ОС Windows. Просто заходите в службы Microsoft Windows на вашем ПК, ищите процесс mysql (название может быть и другим) и из контекстного меню выбираете «свойства» объекта и в строке «Исполняемый файл» будет написан полный путь к самому файлу сервера MySQL mysql.exe а так же там будут написаны параметры запуска данной программы. К примеру у меня там было следующее:

"C:/Program Files/MySQL/MySQL Server 5.6/bin\mysqld" --defaults-file="C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.6\my.ini" MySQL56

Т.е. как видим, программе при запуске так же отдаётся файл конфигурации, его то и используем. Открываем этот файл my.ini и смотрим всё ли там в порядке. Забегая вперёд скажу, что у меня с этим файлом проблем не было, но почитав разные истории в интернете, могу заявить, что у людей возникают проблемы с некоторыми директивами этого файла, а именно директивой basedir (базовая директория), в котрой должен находиться полный путь к директории установки СУБД MySQL.

Таким образом надо прописать в C:\WINDOWS\my.ini или C:\my.cnf, параметр basedir. После этого сервис запускается без проблем. Пример моего файла конфигурации my.ini:

[WinMySQLAdmin]
Server=C:/WebServers/usr/local/mysql/bin/mysqld-nt.exe

[mysqld]
basedir=C:/WebServers/usr/local/mysql
datadir=C:/WebServers/usr/local/mysql/data
set-variable=character_sets_dir=C:/WebServers/usr/local/mysql/share/charsets
set-variable=default_character_set=cp1251 

[client]
character-sets-dir=C:/WebServers/usr/local/mysql/share/charsets
default-character-set=cp1251

Так же у многих возникают проблемы с установкой кодировки, т.к. директива весьма default-character-set весьма капризная и надо ей задавать точное валидное название кодировки. К примеру для UTF-8 надо писать именно utf8 и никак иначе, в противном случае будет ошибка. Так вот если всё в порядке продолжаем дальше.

Как я уже сказал, у меня с этим файлом проблем не было. Всё оказалось куда проще чем я думал. Как всегда проблема крылась в переменных средах операционной системы, а именно в переменной Path. Видимо какая то программа её исправила и удалила оттуда необходимую для работы MySQL установку. Так вот идём в свойства «Моего компьютера», вкладка «Дополнительно», кнопка «Переменные среды», в поле «Системные переменные» ищем переменную с названием Path и редактируем её (значение переменной). Ко всему уже имеющемся там через точку с запятой (без пробелов) добавляем полный путь до папки bin установленного MySQL сервера. К примеру у меня это значение выглядело так:

%SystemRoot%\system32;%SystemRoot%;C:\Program Files\MySQL\MySQL Server 5.6\bin

Как видите в конце как раз дописана строка с полным путём к папке bin установленного сервера MySQL (C:\Program Files\MySQL\MySQL Server 5.6\bin), думаю говорить о том, что у вас этот путь может быть совсем другой не надо.

Так вот после этого всё заработало. Надеюсь вам поможет данный метод дабы решить подобную проблему.