netstat
на самом деле работал нормально.
Способ проверки, прослушивает ли плагин Mysqlx порт, который он должен прослушивать, - это проверка переменных состояния MySQL.
SHOW GLOBAL STATUS
Согласно официальной ссылке на MySQL 5.7 должна быть переменная с именем, Mysqlx_port
установленной для соответствующего порта. Если он установлен UNDEFINED
на привязку не удалось. Это был случай для меня.
Короче говоря, после экспорта моих данных я удалил все с именем MySQL и переустановил его. После этого я убедился, что сервер vanilla теперь будет слушать 33060, и он это сделал.
Однако после копирования моей Data
папки в каталог данных нового сервера ( C:/ProgramData/MySQL Server 5.7/
) он снова перестал работать. Я снова сбросил базу данных и импортировал данные, используя дамп SQL. Проблема вернулась снова.
Мне нужно было восстановить свою старую базу данных, а затем экспортировать только свои базы данных (без mysql
, sys
, performance_schema
и information_schema
) и импортировать их в новую базу данных, чтобы он работать должным образом. Похоже, что в базах данных сервера есть некоторые настройки или данные, которые мешают Mysqlx работать должным образом.
Профессиональный совет для экспорта всех данных: используйте
mysqldump -u root -p --routines --triggers --databases <database>... > dump.sql
Так что он будет экспортировать процедуры и триггеры, а также. Пользователи также будут потеряны, но в Интернете есть темы с объяснениями, как это сделать . Команда запросит пароль.
Используйте это, чтобы повторно импортировать:
mysql -u root -p < dump.sql