Ответ 1
Нет, вы должны запустить mysql -u root -p
в bash, а не в командной строке MySQL.
Если вы находитесь в mysql, вы можете выйти, набрав exit.
Я хочу начать писать запросы в 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
Нет, вы должны запустить mysql -u root -p
в bash, а не в командной строке MySQL.
Если вы находитесь в mysql, вы можете выйти, набрав exit.
Возможно, вам потребуется настроить учетную запись root для своей базы данных MySQL:
В типе терминала:
mysqladmin -u root password 'root password goes here'
И затем для вызова клиента MySQL:
mysql -h localhost -u root -p
Меня сюда привезла другая проблема. Всякий раз, когда я пытался войти в систему, я получил это сообщение, потому что вместо проверки подлинности я вошел в систему как анонимный пользователь. Решение моей проблемы:
Чтобы узнать, кем вы являетесь, и чьи разрешения у вас есть:
select user(), current_user();
Чтобы удалить надоедливого анонимного пользователя:
drop user ''@'localhost';
Вы можете попробовать выполнить полную команду входа:
mysql -h host -u root -p
где host будет 127.0.0.1
.
Сделайте это, чтобы убедиться, что существует сотрудничество.
Использование mysql -u root -p
позволяет мне выполнять большой поиск базы данных, но отказывается от любого создания базы данных из-за установки пути.
Во-первых, если вы не знакомы с командной строкой, попробуйте использовать phpmyadmin из своего веб-браузера. Это позволит вам создать базу данных mysql и имя пользователя.
Вот как вы подключаетесь из командной строки (bash):
mysql -h hostname -u username -p database_name
Например:
[email protected] ~ $ mysql -h 127.0.0.1 -u fabio -p fabiodb
Если вы находитесь в оболочке mysql, выйдите из него, набрав exit. Он вернет вас в командную строку. Теперь запустите mysql, используя следующую команду:
sudo mysql -u root -p
Если ваше имя пользователя является чем-то иным, чем root, замените "root" в приведенной выше команде своим именем пользователя:
sudo mysql -u your-user-name -p
Затем он спросит вас пароль mysql-account-password, и ваш mysql не покажет проблему с правами доступа.
@Никпарса... у вас есть 2 вопроса:
1). mysql -uroot -p
должен быть введен в bash (также известный как ваш терминал), а не в командной строке MySQL. Вы исправляете эту ошибку, набрав
exit
в командной строке MySQL. Теперь вы вернулись в свою командную строку bash/terminal.
2). У вас есть синтаксическая ошибка:
mysql -uroot -p;
точка с запятой перед -p должна идти. Правильный синтаксис:
mysql -uroot -p
введите правильный синтаксис в командной строке bash. Введите пароль, если у вас есть одна настройка; иначе просто нажмите кнопку ввода. Вы должны получить ответ, похожий на этот:
Надеюсь, это поможет!
Большинство разработчиков подключаются к серверу (я предполагаю, что у вас есть имя пользователя и пароль для базы данных mysql), затем из Bash они переключаются на mysql> prompt
, затем используют приведенную ниже команду (которая не работает
mysql -h localhost -u root -p
Что нужно сделать, так это использовать приведенную выше команду в приглашении Bash → при этом он будет запрашивать пароль, если он передан непосредственно в приглашение mysql и
, тогда база данных, таблица может быть создана одна за другой
Я столкнулся с подобным тупиком, поэтому обмен опытом
У меня была правильная команда на приведенные выше ответы, то, что я пропустил, было на Workbench, где мы упомянем "Ограничить возможности подключения от хоста" для пользователя, по умолчанию он "%" - измените это на "localhost", и он подключается хорошо после этого!