Я хочу начать писать запросы в MySQL.
show grants
показывает:
+--------------------------------------+
| Grants for @localhost |
+--------------------------------------+
| GRANT USAGE ON *.* TO ''@'localhost' |
+--------------------------------------+
У меня нет никакого user-id, но когда я хочу сделать пользователя, у меня нет привилегий, также я не знаю, как сделать привилегии, когда у меня даже нет ни одного пользователя!
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';
Это как то связано с правами пользователя. Дав надлежащую грантов будет решать этот вопрос.
Шаг [1]: откройте терминал и выполните эту команду
$ mysql -uroot -p
Выход [1]: Это должно дать вам приглашение MySQL показано ниже
Шаг [2]:
mysql> CREATE USER 'parsa'@'localhost' IDENTIFIED BY 'your_password';
mysql> grant all privileges on *.* to 'parsa'@'localhost';
Синтаксис:
mysql> grant all privileges on `database_name`.`table_name` to 'user_name'@'hostname';
Примечание:
- hostname может быть IP-адрес, имя localhost, 127.0.0.1 В - В
имя_базы_данных
/имя_таблицы
, * - означает все базы данных В - Вимя хоста
, чтобы указать все узлы используют '%'
Шаг [3]: выйти из текущей строке MySQL введите "выход" команду "выход" или нажать Ctrl+D
, который.
Шаг [4]: логин для нового пользователя
$ mysql -uparsa -pyour_password
Шаг [5]: Создание базы данных
mysql> create database `database_name`;
Вы можете попробовать выполнить полную команду входа в систему:
mysql -h host -u root -p
где хост будет 127.0.0.1
.
Сделайте это, чтобы убедиться, что сотрудничество существует.
Использование mysql -u root -p
позволяет мне выполнять поиск в базе данных, но отказывает в создании базы данных из-за установки пути.
Во-первых, если вы не знакомы с командной строкой, попробуйте через phpmyadmin из вашего веб-браузера. Это будет убедиться, что вы на самом деле создали базу данных MySQL и пользователя.
Это как подключении из командной строки (Баш):
mysql -h hostname -u username -p database_name
Например:
fabio@crunchbang ~ $ mysql -h 127.0.0.1 -u fabio -p fabiodb
Если вы находитесь в консоли MySQL, покинуть его, набрав выход. Это вернет вас к командной строке. Теперь запустить MySQL с помощью следующей команды:
судо в mysql -u в корень -п
Если ваше имя пользователя-это нечто иное, чем корень, заменить 'корне' В приведенной выше команде с вашим именем пользователя:
судо в MySQL -у имя_пользователя -п
Затем он попросит вас к MySQL-аккаунт-пароль, и ваш MySQL выиграл'т показать любому вопросу права доступа теперь.
@Nickparsa ... у вас есть 2 проблемы:
1). для MySQL уроот -п
должны быть набраны в bash (также известной как терминал) не в командной строке MySQL. Вы исправить эту ошибку, вписав
exit
в командной строке MySQL. Теперь вы вернулись в свой Баш/командной строки терминала.
2). У вас есть синтаксическая ошибка:
mysql -uroot -p;
точка с запятой перед -п должен идти. Правильный синтаксис:
mysql -uroot -p
введите правильный синтаксис в командной строке Баш. Введите пароль, если он есть; иначе нажмите кнопку Enter. Вы должны получить ответ, который похож на этот:
Надеюсь, что это помогает!
Разработчики войдите на сервер(я предполагаю, что вы R, имеющий имя пользователя и пароль для базы данных MySQL), то от Баша они переключаются на для MySQL> По строке
затем используйте следующую команду(которая не работает
mysql -h localhost -u root -p
Что нужно сделать, это использовать указанную выше команду в командной строке--> на этого он будет запрашивать пароль, если дали ее доставят непосредственно к строке MySQL и
тогда база данных, таблица может быть создана по одному
Я сталкивался с подобными тупик, так что делюсь опытом
У меня команда за правильные ответы выше, что я пропустил, был на верстаке, где мы говорили, 'лимит подключений с хоста' для пользователя, то по умолчанию, чтобы "%" и - изменить это, чтобы "локальный" и он подключается нормально после этого!