Rechercher dans le manuel MySQL
6.3.7 Assigning Account Passwords
Required credentials for clients that connect to the MySQL server can include a password. This section describes how to assign passwords for MySQL accounts.
MySQL stores credentials in the user
table in
the mysql
system database. Operations that
assign or modify passwords are permitted only to users with the
CREATE USER
privilege, or,
alternatively, privileges for the mysql
database (INSERT
privilege to
create new accounts, UPDATE
privilege to modify existing accounts). If the
read_only
system variable is
enabled, use of account-modification statements such as
CREATE USER
or
ALTER USER
additionally requires
the CONNECTION_ADMIN
or
SUPER
privilege.
The discussion here summarizes syntax only for the most common password-assignment statements. For complete details on other possibilities, see Section 13.7.1.3, “CREATE USER Syntax”, Section 13.7.1.1, “ALTER USER Syntax”, and Section 13.7.1.10, “SET PASSWORD Syntax”.
MySQL uses plugins to perform client authentication; see
Section 6.3.10, “Pluggable Authentication”. In password-assigning
statements, the authentication plugin associated with an account
performs any hashing required of a cleartext password specified.
This enables MySQL to obfuscate passwords prior to storing them in
the mysql.user
system table. For the statements
described here, MySQL automatically hashes the password specified.
There are also syntaxes for CREATE
USER
and ALTER USER
that
permit hashed values to be specified literally. For details, see
the descriptions of those statements.
To assign a password when you create a new account, use
CREATE USER
and include an
IDENTIFIED BY
clause:
CREATE USER
also supports syntax
for specifying the account authentication plugin. See
Section 13.7.1.3, “CREATE USER Syntax”.
To assign or change a password for an existing account, use the
ALTER USER
statement with an
IDENTIFIED BY
clause:
If you are not connected as an anonymous user, you can change your own password without naming your own account literally:
To change an account password from the command line, use the mysqladmin command:
mysqladmin -u user_name -h host_name password "password"
The account for which this command sets the password is the one
with a row in the mysql.user
system table that
matches user_name
in the
User
column and the client host from
which you connect in the Host
column.
Setting a password using mysqladmin should be considered insecure. On some systems, your password becomes visible to system status programs such as ps that may be invoked by other users to display command lines. MySQL clients typically overwrite the command-line password argument with zeros during their initialization sequence. However, there is still a brief interval during which the value is visible. Also, on some systems this overwriting strategy is ineffective and the password remains visible to ps. (SystemV Unix systems and perhaps others are subject to this problem.)
If you are using MySQL Replication, be aware that, currently, a
password used by a replication slave as part of a
CHANGE MASTER TO
statement is
effectively limited to 32 characters in length; if the password is
longer, any excess characters are truncated. This is not due to
any limit imposed by the MySQL Server generally, but rather is an
issue specific to MySQL Replication. (For more information, see
Bug #43439.)
Traduction non disponible
Le manuel MySQL n'est pas encore traduit en français sur l'infobrol. Seule la version anglaise est disponible pour l'instant.
Document créé le 26/06/2006, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/mysql-rf-assigning-passwords.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.