Я хочу начать писать запросы в MySQL.
show grants
шоу:
+--------------------------------------+
| Grants for @localhost |
+--------------------------------------+
| GRANT USAGE ON *.* TO ''@'localhost' |
+--------------------------------------+
У меня нет никакого идентификатора пользователя, но когда я хочу сделать пользователя, у меня нет привилегий, также я не знаю, как сделать привилегии, даже если у меня нет одного пользователя!
mysql> CREATE USER 'parsa'@'localhost' IDENTIFIED BY 'parsa';
ERROR 1227 (42000): Access denied; you need (at least one of) the CREATE USER pr
ivilege(s) for this operation
Я попытался войти как root:
mysql> mysql -u root -p;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'mysql
-u root -p' at line 1
mysql> mysql -u root -p root;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'mysql
-u root -p root' at line 1
root
должен был быть создан при установке MySQL.mysql -u root -p
. Тогда у вас будут полные разрешения на сервере базы данных, и вы сможете создавать других пользователей.Ответы:
Нет, вы должны работать
mysql -u root -p
в bash, а не в командной строке MySQL. Если вы находитесь в mysql, вы можете выйти, набрав команду exit .источник
Вам может потребоваться настроить учетную запись root для базы данных MySQL:
В терминале введите:
А затем вызвать клиент MySQL:
источник
Меня привела другая проблема. Всякий раз, когда я пытался войти, я получал это сообщение, потому что вместо правильной аутентификации я входил в систему как анонимный пользователь. Решение моей проблемы было:
Чтобы узнать, кто вы и какие у вас есть права доступа:
Чтобы удалить надоедливого анонимного пользователя:
источник
Это как-то связано с разрешениями пользователя. Предоставление надлежащих грантов решит эту проблему.
Шаг [1]: Откройте терминал и выполните эту команду
Вывод [1]: это должно дать вам приглашение mysql, показанное ниже
Шаг 2]:
Синтаксис:
Шаг [3]: Чтобы выйти из текущего приглашения MySQL, введите
quit
/exit
command или нажмитеCtrl+D
.Шаг [4]: войдите в систему для вашего нового пользователя
Шаг [5]: Создать базу данных
источник
CREATE USER 'parsa'@'localhost' IDENTIFIED BY 'your_password';
там получаю сообщение об ошибке: ОШИБКА 1227 (42000): доступ запрещен; вам нужна (хотя бы одна из) привилегия CREATE USER для этой операцииВозможно, вы захотите попробовать полную команду входа в систему:
где хозяин будет
127.0.0.1
.Сделайте это только для того, чтобы убедиться, что сотрудничество существует.
Использование
mysql -u root -p
позволяет мне много искать в базе данных, но отказывается от создания базы данных из-за установки пути.источник
Во-первых, если вы не знакомы с командной строкой, попробуйте использовать phpmyadmin из веб-браузера. Это обеспечит создание базы данных mysql и имени пользователя.
Вот как вы подключаетесь из командной строки (bash):
Например:
источник
-p
для пароля, и вы используете его для передачи имени базы данных. Также для пароля не должно быть ч / б-p
и фактического пароля. Используйте-D
для подключения к конкретной базе данных.Если вы находитесь в
MySQL
оболочке, выйдите из нее, набрав команду exit , и вы вернетесь в командную строку.Теперь начните
MySQL
с использования в точности следующей команды:Если ваше имя пользователя отличается от root, замените 'root' в приведенной выше команде своим именем пользователя:
Затем он попросит вас указать
MySQL
учетную запись / пароль, и выMySQL
не увидите никаких проблем с правами доступа.источник
@Nickparsa ... у вас есть 2 проблемы:
1).
mysql -uroot -p
должен быть напечатан в bash (также известный как ваш терминал), а не в командной строке MySQL. Вы исправляете эту ошибку, набираяв вашей командной строке MySQL. Теперь вы вернулись в командную строку bash / Terminal.
2). У вас есть синтаксическая ошибка:
точка с запятой перед -p должна идти. Правильный синтаксис:
введите правильный синтаксис в командной строке bash. Введите пароль, если он у вас установлен; иначе просто нажмите кнопку ввода. Вы должны получить ответ, похожий на этот:
Надеюсь это поможет!
источник
Большинство разработчиков регистрируются на сервере (я предполагаю, что у вас есть имя пользователя и пароль для базы данных mysql), затем из Bash они переключаются на
mysql> prompt
использование команды ниже (которая не работаетЧто нужно сделать, это использовать приведенную выше команду в приглашении bash -> при этом он запросит пароль, если он будет передан непосредственно в приглашение mysql и
тогда база данных, таблица может быть создана одна за другой
Я столкнулся с аналогичным тупиком
источник
У меня была правильная команда в ответах выше, что я пропустил на Workbench, где мы упоминаем «Limit Connectivity from Host» для пользователя, по умолчанию это «%» - измените это на «localhost», и после этого он подключится нормально!
источник