Внезапно мой локальный сервер MySQL 5.5 перестал работать на моем Windows XP SP3.
У меня также установлены WAMP Apache и WAMP MySQL, но WAMP MySQL не работает. Журнал ошибок показывает:
- Не удается запустить сервер: привязка к порту TCP / IP: нет такого файла или каталога
- У вас уже есть другой сервер mysqld, работающий на порту: 3306?
Я попытался изменить порт с 3306 на 3307, но служба все равно не запустилась, выдав ошибку:
Просмотр событий показывает:
- Неустранимая ошибка: невозможно открыть и заблокировать таблицы привилегий: таблица «mysql.host» не существует
- Не могу открыть таблицу mysql.plugin. Пожалуйста, запустите mysql_upgrade, чтобы создать его.
По-видимому, я могу запустить mysql_upgrade только если сервер работает. Как я могу создать mysql.host, если служба не может быть запущена?
Я удалил MySQL Server и переустановил его, и во время работы мастера установки после установки я получаю сообщение об ошибке: не удалось запустить службу. Ошибка: 0.
Как мне продолжить отсюда?
Ответы:
Запустите следующую команду
источник
systemctl status mysqld.service 2015-02-20 15:41:07 15160 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist
инициализируйте mysql перед запуском на windows.
источник
Первое, что вам нужно сделать, это запустить эти команды:
Пожалуйста, обратите внимание на различия
MySQL 5.0 имеет 17 таблиц в схеме mysql
MySQL 5.1 имеет 23 таблицы в схеме mysql
MySQL 5.5 имеет 24 таблицы в схеме mysql
Обратите внимание, что mysql.plugin не существует в MySQL 5.0. Весьма вероятно предположить, что вы каким-то образом установили MySQL 5.0 и удалили жизненно важные таблицы для MySQL 5.5.
Вот несколько хороших новостей. Есть кое-что, что вы можете попробовать.
Для этого примера
Вот ваши шаги
Вот и все.
Если вы используете это в Windows, должны применяться те же принципы.
Попробуйте!
ОБНОВЛЕНИЕ 2011-07-29 16:15 ПО ВОСТОЧНОМУ ВРЕМЕНИ
Если ваши имена пользователей имеют особые привилегии БД, вот ваши шаги
источник
Добавьте путь MySQL к переменным среды.
источник
похоже у тебя уже запущен mysql
пытаться
если вы видите какой-то вывод, вероятно, вам нужно остановить его (или перезагрузить окно).
если вы не видите никаких выходных данных, попробуйте запустить mysqld без demonize и посмотрите выходные данные.
источник
Я добавил тег Windows, чтобы помочь людям ответить на вопрос.
Мой фон не окна, но принципы применяются.
Процесс MySQL уже запущен? Если это так, вам нужно будет убить его перед удалением. Если он все еще работал, когда вы пытались удалить / переустановить, у вас будут зависеть процессы и файлы, мешающие вам удалить полностью.
Откройте окно служб, найдите что-нибудь с mysql в имени и убедитесь, что оно не пытается начать с перезагрузки. Затем откройте вкладку запущенных процессов в окне запущенных программ (используйте CTRL-ALT-DEL, чтобы открыть) и найдите и убейте запущенные процессы с именем mysql.
Если вы уверены, что больше нет запущенных процессов mysql, вы можете продолжить. Вы можете перезагрузиться, чтобы быть уверенным, что запущенные процессы mysql не работают.
В это время вы сможете переустановить и запустить mysql.
источник
Запустите mysql-test-run, и вы должны увидеть следующий вывод:
источник
Если вы перемещаете свой datadir, вам нужно не только дать новые разрешения datadir, но и убедиться, что все родительские каталоги имеют разрешение.
Я перенес свой datadir на жесткий диск, смонтированный в Ubuntu как:
и мой датадир был Базы данных .
Мне пришлось установить разрешения на 771 для каждого из носителей, пользователей и каталогов данных:
Если это не работает, другой способ заставить MySQL работать - изменить пользователя в /etc/mysql/my.cnf на root; хотя, несомненно, есть некоторые проблемы с этим с точки зрения безопасности.
источник