Между MySQL и Unix или Windows существует несколько различий в использовании имен пользователей и паролей:
Имена пользователей, которые
применяются в MySQL для
авторизации, не имеют ничего
общего с именами пользователей
Unix (аккаунты Unix) или именами
пользователей Windows. Большинство
клиентов MySQL по умолчанию
пытаются войти в систему,
используя текущее имя
пользователя Unix в качестве имени
пользователя MySQL, но это сделано
только для удобства. Программы
клиентов позволяют указывать
различные имена при помощи
параметров -u или
--user. Это означает, что
невозможно обеспечить
безопасность базы данных, если
не все имена пользователей MySQL
снабжены паролями: ведь можно
попытаться подсоединиться к
серверу, используя любое имя, а
если воспользоваться именем,
которому не назначен пароль, то
удастся войти в систему.
Имена пользователей MySQL могут содержать до 16 символов. Имена пользователей Unix обычно ограничены 8 символами.
Пароли MySQL не имеют никакого отношения к паролям Unix. Не существует связи между паролем, который используется для входа в Unix, и паролем, необходимым для доступа к базе данных.
MySQL шифрует пароли при помощи
своего алгоритма, который
отличается от алгоритма Unix,
используемого во время входа в
систему. Описание функций
PASSWORD() и
ENCRYPT() можно найти в
разделе See
Раздел 6.3.6.2, «Разные функции». Обратите
внимание: даже если ваш пароль
хранится в 'зашифрованном виде',
то знания этого 'зашифрованного'
пароля будет достаточно, чтобы
подсоединиться к серверу MySQL!
Пользователи MySQL и их привилегии
обычно создаются при помощи
команды GRANT. See
Раздел 4.3.1, «Синтаксис команд GRANT и REVOKE».
Если подсоединение к серверу MySQL
осуществляется с клиента
командной строки, необходимо
указать пароль при помощи
параметра --password=your-password.
See Раздел 4.2.8, «Соединение с сервером MySQL».
mysql --user=monty --password=guess database_name
Если необходимо, чтобы клиент
запрашивал пароль, то следует
указать --password без
каких-либо аргументов
mysql --user=monty --password database_name
или сокращенный вариант этого параметра:
mysql -u monty -p database_name
Обратите внимание на то, что в
последнем примере
database_name не является
паролем.
Если необходимо указать пароль при
помощи параметра -p, то
следует поступить следующим
образом:
mysql -u monty -pguess database_name
В некоторых системах вызов библиотеки, который MySQL использует для запроса пароля, автоматически обрезает пароль до 8 символов. В самом MySQL не существует никаких ограничений на длину пароля.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.
© 1995-2005 MySQL AB. All rights reserved.
