Справочное руководство по MySQL версии 4.1.1-alpha

       

Имена пользователей MySQL и пароли


Между 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 section 6.3.6.2 Разные функции. Обратите внимание: даже если ваш пароль хранится в 'зашифрованном виде', то знания этого 'зашифрованного' пароля будет достаточно, чтобы подсоединиться к серверу MySQL!

    Пользователи MySQL и их привилегии обычно создаются при помощи команды GRANT. See section 4.3.1 Синтаксис команд GRANT и REVOKE.

    Если подсоединение к серверу MySQL осуществляется с клиента командной строки, необходимо указать пароль при помощи параметра --password=your-password. See section 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 не существует никаких ограничений на длину пароля.



    Содержание раздела