MySQL: Неустранимая ошибка: не удается открыть и заблокировать таблицы привилегий: Таблица 'mysql.host' не существует [закрыто]

Внезапно мой локальный сервер 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.

Что мне делать дальше?

9
задан 1 August 2011 в 20:37
8 ответов

Выполните следующую команду

mysql_install_db
9
ответ дан 2 December 2019 в 22:27

инициализируйте mysql перед запуском на windows.

mysqld --initialize
5
ответ дан 2 December 2019 в 22:27

Сервис не мог быть запущен. Error:0.

Добавьте путь MySQL к переменным среды.

0
ответ дан 2 December 2019 в 22:27

похоже, что у Вас уже есть выполнение mysql

попробовать

ps ax|grep mysql

если Вы видите, что некоторый вывод, вероятно, u должны остановить его (или поле перезагрузки).

если Вы не видите вывод, попробуйте выполненный mysqld без, демонизируйте и смотрите вывод.

0
ответ дан 2 December 2019 в 22:27

Первая вещь, которую необходимо сделать, выполняется эти команды:

use mysql
show tables;

Отметьте различия

MySQL 5.0 имеет 17 таблиц в mysql схеме

+---------------------------+
| Tables_in_mysql           |
+---------------------------+
| columns_priv              |
| db                        |
| func                      |
| help_category             |
| help_keyword              |
| help_relation             |
| help_topic                |
| host                      |
| proc                      |
| procs_priv                |
| tables_priv               |
| time_zone                 |
| time_zone_leap_second     |
| time_zone_name            |
| time_zone_transition      |
| time_zone_transition_type |
| user                      |
+---------------------------+

MySQL 5.1 имеет 23 таблицы в mysql схеме

+---------------------------+
| Tables_in_mysql           |
+---------------------------+
| columns_priv              |
| db                        |
| event                     |
| func                      |
| general_log               |
| help_category             |
| help_keyword              |
| help_relation             |
| help_topic                |
| host                      |
| ndb_binlog_index          |
| plugin                    |
| proc                      |
| procs_priv                |
| servers                   |
| slow_log                  |
| tables_priv               |
| time_zone                 |
| time_zone_leap_second     |
| time_zone_name            |
| time_zone_transition      |
| time_zone_transition_type |
| user                      |
+---------------------------+

MySQL 5.5 имеет 24 таблицы в mysql схеме

+---------------------------+
| Tables_in_mysql           |
+---------------------------+
| columns_priv              |
| db                        |
| event                     |
| func                      |
| general_log               |
| help_category             |
| help_keyword              |
| help_relation             |
| help_topic                |
| host                      |
| ndb_binlog_index          |
| plugin                    |
| proc                      |
| procs_priv                |
| proxies_priv              |
| servers                   |
| slow_log                  |
| tables_priv               |
| time_zone                 |
| time_zone_leap_second     |
| time_zone_name            |
| time_zone_transition      |
| time_zone_transition_type |
| user                      |
+---------------------------+

Обратите внимание на то, что mysql.plugin не существует в MySQL 5.0. Очень вероятно предположить, что Вы так или иначе установили MySQL 5.0 и заставили жизненные таблицы для MySQL 5.5 исчезнуть.

Вот некоторые хорошие новости. Существует что-то, что можно попробовать.

Для этого примера

  • ServerA - то, где Ваши данные MySQL 5.5 живут
  • ServerB - то, где Вы создадите отдельную среду MySQL 5.5

Вот Ваши шаги

  1. На ServerA, mkdir/root/myusers
  2. На ServerA, CP/var/lib/mysql/mysql/user.*/root/myusers/.
  3. MySQL 5.5 установки на ServerB
  4. scp ServerB:/var/lib/mysql/mysql /* ServerA:/var/lib/mysql/mysql/.
  5. На ServerA, CP/root/myusers/user.*/var/lib/mysql/mysql/.
  6. сервис mysql запускается

Именно.

При выполнении этого в Windows те же принципы должны применяться.

Дайте ему Попытку!!!

ОБНОВИТЕ 29.07.2011 16:15 EDT

Если Ваши имена пользователей имели DB Определенные Полномочия, вот Ваши шаги

  1. На ServerA, mkdir/root/myusers
  2. На ServerA, CP/var/lib/mysql/mysql/user.*/root/myusers/.
  3. На ServerA, CP/var/lib/mysql/mysql/db.*/root/myusers/.
  4. MySQL 5.5 установки на ServerB
  5. scp ServerB:/var/lib/mysql/mysql /* ServerA:/var/lib/mysql/mysql/.
  6. На ServerA, CP/root/myusers /*/var/lib/mysql/mysql/.
  7. сервис mysql запускается
1
ответ дан 2 December 2019 в 22:27

Я добавил тег окон, чтобы помочь людям ответить на вопрос.

Мое образование не является окнами, но принципалы применяются.

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

Откройте сервисное окно, ищите что-либо с mysql на имя и удостоверьтесь, что это установлено не попытаться запуститься с перезагрузки. Затем откройтесь, рабочая вкладка процессов рабочего окна программ (используйте CTRL-ALT-DEL для открытия), и ищите и уничтожьте рабочие процессы с mysql на имя.

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

В это время необходимо смочь переустановить и запустить mysql.

0
ответ дан 2 December 2019 в 22:27

Запустите mysql-test-run, и вы должны увидеть следующий результат:

./mysql-test-run
Logging: ./mysql-test-run  
2013-09-14 03:39:32 2566 [Warning] Setting lower_case_table_names=2 because file system for /var/folders/fr/sn4l2f393_v_ytcwkb0lx7_40000gp/T/_M2mZFQPjV/ is case insensitive
2013-09-14 03:39:32 2566 [Note] Plugin 'FEDERATED' is disabled.
2013-09-14 03:39:32 2566 [Note] Binlog end
2013-09-14 03:39:32 2566 [Note] Shutting down plugin 'MyISAM'
2013-09-14 03:39:32 2566 [Note] Shutting down plugin 'CSV'
MySQL Version 5.6.13
Checking supported features...
 - SSL connections supported
Using suites: main,sys_vars,binlog,federated,rpl,innodb,innodb_fts,perfschema,funcs_1,opt_trace,parts,auth_sec
Collecting tests...
 - adding combinations for binlog



 - adding combinations for rpl
Removing old var directory...
Creating var directory '/Users/das/mysql/mysql-5.6.13-osx10.7-x86_64/mysql-test/var'...
Installing system database...
Using server port 50409

==============================================================================

TEST                                      RESULT   TIME (ms) or COMMENT
--------------------------------------------------------------------------
0
ответ дан 2 December 2019 в 22:27

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

Я переместил свой datadir на жесткий диск, смонтирован в Ubuntu как:

/media/*user*/Data/

, а мой каталог данных был Базы данных .

Мне пришлось установить права 771 для каждого носителя, пользователя и каталогов данных:

sudo chmod 771 *DIR*

Если это не сработает, другой способ заставить mysql работать - это изменить пользователя в /etc/mysql/my.cnf на root; хотя с точки зрения безопасности при этом, несомненно, возникают некоторые проблемы.

0
ответ дан 2 December 2019 в 22:27

Теги

Похожие вопросы