Я пытаюсь войти в мою базу данных MySQL через командную строку Windows 7. После запуска mysql
я получаю подтверждение, что MySQL настроен на моем ПК.
Однако, когда я пишу -u root -p
или mysql -u root -p
и нажимаю ENTER
, cmd только начинается с новой строки, не выполняя мой код. Так выглядит:
mysql> -u root -p [HIT ENTER here]
->_ [blinking low dash]
Обратите внимание, что мой код выполняется, если я пишу SHOW DATABASES
и т.д.
Почему cmd
не выполняет мой код?
Не знаю, почему именно мой код не работал, но мне удалось решить проблему.
В принципе, предложения, предлагаемые @leuanG
были правильными. Однако проблема заключалась в том, что с самого начала мне был присвоен анонимный пользователь '.'@'localhost'
, вместо 'root'@'localhost'
.
Чтобы исправить это, повторно запустите cmd
и вместо запуска mysql
для входа в MySQL запустите mysql -uroot -p
. Затем вам будет задан пароль, который у вас есть в вашем файле config
. Введите его, нажмите ENTER
и это хорошо.
Половина решения взята из ответа здесь: MySQL: ERROR 1227 (42000): Access denied - не может СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ
По внешнему виду, у вас нет пароля для root. Он просто подводит вас к подсказке. Чтобы установить пароль, вы можете использовать для версий 5.7.6 и более поздних версий:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
или это для версий 5.7.5 и ранее:
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
Вы можете найти свою версию MySQL, запустив SELECT VERSION();
,
-u root -p
очевидно.