SET PASSWORD (Español)

publicado en: Articles | 0

Syntax

SET PASSWORD = { PASSWORD('some password') | OLD_PASSWORD('some password') | 'encrypted password' }

Description

la instrucción SET PASSWORD asigna una contraseña a una cuenta de usuario de MariaDB existente.

si la contraseña se especifica usando la función PASSWORD() o OLD_PASSWORD(), se debe dar el texto literal de la contraseña. Si la contraseña se especifica sin usar ninguna de las dos funciones, la contraseña debe ser el valor de la contraseña ya cifrada que devuelvePASSWORD().,

OLD_PASSWORD() solo debe usarse si sus clientes MariaDB/MySQL son muy antiguos (< 4.0.0).

sin la cláusula FOR, esta instrucción establece la contraseña para el usuario actual. Cualquier cliente que se haya conectado al servidor utilizando una cuenta no anónima puede cambiar la contraseña de esa cuenta.

con una cláusula FOR, esta instrucción establece la contraseña para una cuenta específica en el host del servidor actual., Solo los clientes que tienen el privilegio UPDATEpara la base de datos mysql pueden hacer esto. El valor de usuario debe comenzar en el formato user_name@host_name, donde user_name y host_name son exactamente como se enumeran en las columnas User y Host delmysql.user entrada de la tabla.

el argumento a PASSWORD() y la contraseña dada a los clientes MariaDB puede ser de longitud arbitraria.

Soporte de Plugin de autenticación

MariaDB a partir de 10.,4

en MariaDB 10.4 y versiones posteriores, SET PASSWORD(con o sin PASSWORD()) funciona para cuentas autenticadas a través de cualquier complemento de autenticación que admita contraseñas almacenadas en la tabla mysql.global_priv.

El ed25519, mysql_native_password y mysql_old_password autenticación de plugins almacenar las contraseñas en el mysql.global_priv tabla.,

si ejecuta SET PASSWORD en una cuenta que se autentica con uno de estos complementos de autenticación que almacena contraseñas en la tabla mysql.global_priv, la función PASSWORD() es evaluada por el complemento de autenticación específico utilizado por la cuenta. El plugin de autenticación hashes la contraseña con un método que es compatible con ese plugin de autenticación específico.,

El unix_socket, named_pipe, gssapi y pam autenticación de plugins no guarde las contraseñas en el mysql.global_priv tabla. Estos plugins de autenticación se basan en otros métodos para autenticar al usuario.,

si intenta ejecutar SET PASSWORD en una cuenta que se autentica con uno de estos complementos de autenticación que no almacena una contraseña en la tabla mysql.global_priv, entonces MariaDB Server generará una advertencia como la siguiente:

SET PASSWORD is ignored for users authenticating via unix_socket plugin

MariaDB 10.4 Para una visión general de los cambios de autenticación en MariaDB 10.4.

MariaDB hasta 10.3

En MariaDB 10.,3 y anteriores, SET PASSWORD (con o sin PASSWORD()) solo funciona para cuentas autenticadas a través de mysql_native_password o mysql_old_password complementos de autenticación

las cuentas de usuario sin contraseña

las cuentas de usuario no siempre requieren contraseñas para iniciar sesión.

El unix_socket , named_pipe y gssapi autenticación de plugins no requieren de una contraseña para autenticar al usuario.,

el complemento de autenticación pam puede requerir o no una contraseña para autenticar al usuario, dependiendo de la configuración específica.

los complementos de autenticación mysql_native_password y mysql_old_password requieren contraseñas para la autenticación, pero la contraseña puede estar en blanco. En ese caso, no se requiere contraseña.

Si proporciona una contraseña al intentar iniciar sesión en el servidor como una cuenta que no requiere una contraseña, el servidor MariaDB simplemente ignorará la contraseña.

MariaDB a partir de 10.,4

en MariaDB 10.4 y versiones posteriores, se puede definir una cuenta de usuario para usar varios complementos de autenticación en un orden de preferencia específico. Este escenario específico puede ser más notable en estas versiones, ya que una cuenta podría estar asociada con algunos complementos de autenticación que requieren una contraseña, y algunos que no.

ejemplo

por ejemplo, si tuviera una entrada con valores de columna de usuario y host de ‘bob‘ y ‘%.loc.,gov‘, habría que escribir thestatement como esto:

SET PASSWORD FOR 'bob'@'%.loc.gov' = PASSWORD('newpass');

Si desea eliminar una contraseña de un usuario, se haría:

SET PASSWORD FOR 'bob'@localhost = PASSWORD("");

Véase También

  • la Validación de la Contraseña Plugins – permite el establecimiento de criterios básicos para contraseñas
  • ALTER USER

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *