Я не могу запустить MySQL сервер в NodeJs после сброса MySQL пароля с помощью Windows cmd - PullRequest
0 голосов
/ 29 мая 2020

Я сбросил свой MySQL пароль с помощью команд cmd из этого руководства.

cd "C:\Program Files\MySQL\MySQL Server 8.0\bin"
mysqld
--defaults-file="C:\\ProgramData\\MySQL\\MySQL Server 8.0\\my.ini"
--init-file=C:\\Users\\<username>\\resetMYSQL.txt

reset MYSQL содержит команду для смены пароля

ALTER USER 'root'@'localhost' IDENTIFIED BY '<myNewPassword>';

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

Это ошибка. Это ОТКАЗЫВАЕТСЯ. Node's error

Думаю, мой пароль уже сброшен, потому что помимо командной строки я также запускаю ALTER USER в Workbench после того, как получил к нему доступ во время работы cmd.

Btw , перед этим я могу просто запустить свой сервер, используя Node и Sequelize, и мне не нужно было запускать сервер в другом месте или ничего заранее устанавливать

Я не уверен, в чем проблема, поэтому я не знаю, какой ключевое слово я должен поискать в Google. Я погуглил код ошибки, но эти случаи не связаны с моими. Буду рад, если вы объясните мне, что происходит.

1 Ответ

0 голосов
/ 29 мая 2020

Сообщение об ошибке nodejs, которое вы нам показали, сообщение ECONNREFUSED с отслеживанием, показывает, что ваша программа сервера базы данных mysql не была запущена, когда ваша программа nodejs пыталась подключиться к ней. Nodejs обращается к MySQL через TCP / IP. TCP / IP отвечает: «Я не знаю MySQL». В частности, он отвечает «ECONNREFUSED on port 3306», что означает «ничто на этом компьютере не принимает подключения к порту MySQL».

nodejs не запускает программное обеспечение mysql для вас. Он подключается к нему , а использует его. . MySQL должен уже быть запущен для этой работы.

Обычно такое программное обеспечение, как mysql, работает в форме службы операционной системы; фоновый процесс, который постоянно выполняется на машине для ожидания запросов).

И, как правило, вы не предоставляете файлы инициализации на MySQL для таких вещей, как изменение паролей, за исключением одного раза, если вы должен, чтобы спасти что-то сломанное. В вашем случае похоже, что вы забыли свой пароль MySQL, поэтому вам нужно было использовать файл инициализации, чтобы спастись. После сброса пароля прекратите использование этого файла инициализации.

Объяснение того, как заставить MySQL работать как службу на вашем компьютере, выходит за рамки ответа на вопрос о переполнении стека. Но установщики для MySQL почти во всех операционных системах настраивают его для автоматического запуска в качестве службы. В противном случае это вообще бесполезно.

...