Проблема
Вам нужна учетная запись для подключения к серверу MySQL.
Решение
Используйте CREATE USER
и GRANT
операторы для настройки учетной записи. Затем используйте имя учетной записи и пароль для подключения к серверу.
Обсуждение
Для подключения к серверу MySQL требуется имя пользователя и пароль. Вам также может потребоваться указать имя хоста, на котором работает сервер. Если вы не указываете параметры подключения явно, mysql принимает значения по умолчанию. Например, при отсутствии явного имени хоста mysql предполагает, что сервер работает на локальном хосте.
Если кто-то уже создал для вас учетную запись, просто используйте ее. В противном случае в следующем примере показано, как использовать программу mysql для подключения к серверу и выполнения операторов, которые устанавливают учетную запись пользователя с привилегиями для доступа к базе данных с именем cookbook . Аргументы mysql включают -h localhost
для подключения к серверу MySQL, работающему на локальном хосте, -u root
для подключения от имени пользователя root MySQL и -p
для указания mysql запрашивать пароль:
% mysql -h localhost -u root -p
Enter password: ******
mysql> CREATE USER 'cbuser'@'localhost' IDENTIFIED BY 'cbpass';
mysql> GRANT ALL ON cookbook.* TO 'cbuser'@'localhost';
Query OK, 0 rows affected (0.09 sec)
mysql> quit
Bye
Если когда вы пытаетесь вызвать mysql, результатом является сообщение об ошибке, что он не может быть найден или является недопустимой командой, это означает, что ваш интерпретатор команд не знает, где установлен mysql . Используйте PATH
переменную среды, которую интерпретатор использует для поиска команд.
В показанных командах символ %
представляет собой приглашение, отображаемое вашей оболочкой или интерпретатором команд, а mysql>
- это приглашение, отображаемое mysql . Вводимый текст выделяется жирным шрифтом. Нежирный текст (включая подсказки) - это вывод программы; не печатайте ничего из этого.
Когда mysql выводит запрос пароля, введите пароль root MySQL, где вы видите ******
; если у пользователя root MySQL нет пароля, просто нажмите клавишу Enter
(или Return
) в запросе пароля. Затем введите оператор CREATE USER
и GRANT
, как показано в примере выше. Команда quit
завершает ваш сеанс mysql . Вы также можете завершить сеанс с помощью команды выхода или (в Unix), набрав Ctrl-D
.
Чтобы предоставить учетной записи cbuser доступ к базе данных, отличной от cookbook, замените имя базы данных, где вы видите cookbook, в операторе GRANT
. Чтобы предоставить доступ к базе данных cookbook существующей учетной записи, опустите CREATE USER
оператор и замените эту учетную запись на 'cbuser'@'localhost' в GRANT
операторе.
Часть имени хоста 'cbuser'@'localhost' указывает хост, с которого вы будете подключаться к серверу MySQL. Чтобы настроить учетную запись, которая будет подключаться к серверу, работающему на локальном хосте, используйте localhost
, как показано. Если вы планируете подключаться к серверу с другого хоста, замените этот узел в CREATE USER
и GRANT
операторе. Например, если вы подключаетесь к серверу с хоста с именем myhost.example.com , операторы будут выглядеть следующим образом:
mysql> CREATE USER 'cbuser'@'myhost.example.com' IDENTIFIED BY 'cbpass'; mysql> GRANT ALL ON cookbook.* TO 'cbuser'@'myhost.example.com';
Это может произойти с вами , что есть парадокс в Описанный процедуре: создать cbuser счет , который может подключиться к серверу MySQL, вы должны сначала подключиться к серверу , так что вы можете выполнить CREATE USER
и GRANT
операторы. Я предполагаю, что вы уже можете подключиться как пользователь root MySQL, потому что CREATE USER
и GRANT
может использоваться только пользователем, таким как root, который имеет административные привилегии, необходимые для настройки других учетных записей пользователей. Если вы не можете подключиться к серверу как root, попросите администратора MySQL создать для вас учетную запись cbuser.
Учетные записи MySQL и учетные записи для входа
Учетные записи MySQL отличаются от учетных записей для входа в вашу операционную систему. Например, пользователь root MySQL и пользователь root Unix разделены и не имеют ничего общего друг с другом, даже если имя пользователя одинаково в каждом случае. Это означает, что они, скорее всего, имеют разные пароли. Это также означает, что вы не создаете новые учетные записи MySQL, создавая учетные записи для входа в вашу операционную систему; используйте
CREATE USER
иGRANT
вместо.
После создания учетной записи cbuser убедитесь, что вы можете использовать ее для подключения к серверу MySQL. С хоста, который был назван в CREATE USER
операторе, выполните следующую команду для этого (хост, названный в честь, -h
должен быть хостом, на котором запущен сервер MySQL):
% mysql -h localhost -u cbuser -p
Enter password: cbpass
Now you can proceed to create