#mysql #database #phpmyadmin
#mysql-ошибка-1044
Вопрос:
Я начал изучать PHP с последних нескольких дней, и вот тут я застрял.
Когда я пытаюсь ввести CREATE DATABASE blog;
в оболочке, я получаю эту ошибку
«Ошибка 1044 <42000>: пользователю «@’ localhost’ отказано в доступе к базе данных»
Как мне это исправить?
Я нашел названия этой ошибки, но мне было сложно понять этот ответ.
Комментарии:
1. Пожалуйста, предоставьте обновление с более подробным описанием того, что вы делаете. С каким пользователем вы вошли в систему? В какой момент вы пытаетесь создать базу данных?
2. Я смотрю учебник и точно слежу за тем, что он делал. Сначала я открыл оболочку, затем ввел «mysql» и enter. После этого я попытался проверить базы данных, поэтому я сделал «ПОКАЗАТЬ БАЗЫ ДАННЫХ», и он показал, но там было 8 баз данных, но в оболочке отображается только 2. Он даже не показал тот, который я сделал вручную в phpmyadmin. Затем я попытался создать новую базу данных с помощью команды «СОЗДАТЬ блог БАЗЫ ДАННЫХ». Извините, если я сбиваю вас с толку своим плохим английским
3. Учебное пособие онлайн? Похоже, вы вошли в систему с неправильным пользователем…
4. вау. Большое вам спасибо за подсказку, после прочтения вашего комментария вместо простого ввода «mysql» я попытался ввести «mysql -u root -p», и это решило мою проблему. Большое тебе спасибо, братан: D
Ответ №1:
Ввод mysql без специального пользователя не работает. Или лучше сказать: вы входите в базу данных, но пользователь, которого вы используете, почти не имеет прав / привилегий. Итак, вначале вам нужно войти в систему с помощью своей учетной записи root mysql -u root -p
. Затем вы можете создавать свои базы данных и работать с ними.
Совет 1: Никогда не работайте с пользователем root в продуктивной системе, а создайте пользователя, который имеет доступ только к одной базе данных.
Подсказка 2: Измените пароль пользователя root как можно скорее UPDATE user SET Password=PASSWORD('mein_pwd') WHERE user='root';
, когда вы находитесь в базе данных.
Комментарии:
1. Спасибо, брат. Подсказка 2 такая же, как «УСТАНОВИТЬ ПАРОЛЬ ДЛЯ root@localhost = pass(‘password’);» ?
2. Я думаю, да, но мой намек больше в синтаксисе MySQL