Anda di halaman 1dari 3

Administración de cuentas de usuario de MySQL

 4.5 Gestión de la cuenta de usuario MySQL


 
En esta sección se describe cómo configurar cuentas de clientes del servidor MySQL. Se analizan
los siguientes temas:

 El significado de los nombres de cuenta y contraseñas usados en MySQL y cómo se


compara con nombres y contraseñas utilizadas por el sistema operativo.
 Cómo configurar nuevas cuentas y eliminar las cuentas existentes.
 Cómo cambiar las contraseñas.
 Directrices para el uso de contraseñas de forma segura.
 Cómo utilizar conexiones seguras con SSL.

4.5.1 Nombres de usuario y contraseñas de MySQL

Una cuenta MySQL se define en términos de un nombre de usuario y el equipo o equipos de los
que el usuario se puede conectar al servidor. La cuenta también tiene una contraseña, hay varias
diferencias entre los nombres de usuario y contraseñas son utilizados por MySQL y la forma en
que son utilizados por su sistema operativo:

 Los nombres de usuario, como el usado por MySQL para autentificación, no tienen nada
que ver con los nombres de usuario (login names) utilizados por Windows o Unix. En Unix,
la mayoría de clientes MySQL por defecto intenta iniciar sesión en el uso del nombre de
usuario Unix como el nombre de usuario MySQL, pero es únicamente para su comodidad.
El valor por defecto puede cambiarse fácilmente, ya que los programas cliente permiten
cualquier nombre de usuario que se especifica con un -u o –user opción. Porque esto
significa que cualquier persona puede intentar conectarse al servidor usando cualquier
nombre de usuario, no se puede hacer una base de datos
seguro de ninguna manera a menos que todas las cuentas MySQL no tienen contraseñas.
Cualquiera que especifica un nombre de usuario de una cuenta que no tiene contraseña
será capaz de conectar con éxito a la servidor.
 Los nombres de usuario en MySQL pueden tener hasta 16 caracteres de longitud. Los
nombres de usuario del sistema operativo pueden tener una longitud máxima diferente.
Por ejemplo, los nombres de usuario en Unix típicamente están limitados a ocho
caracteres.
 Las contraseñas de MySQL no tienen nada que ver con las contraseñas para acceder a su
funcionamiento del sistema. No hay ninguna conexión necesaria entre la contraseña que
utiliza para conectarse a una Máquina Windows o Unix y la contraseña que utiliza para
acceder al servidor MySQL de la máquina.
 MySQL encripta contraseñas usando su propio algoritmo. Esta encriptación es diferente de
los utilizados durante el proceso de entrada de Unix. La encriptación de contraseña es la
misma que la implementado por la función PASSWORD() de SQL. La encriptación de
contraseñas Unix es la misma que aplicado por la función ENCRYPT () de SQL. Desde la
versión 4.1, MySQL usa un método de autenticación más fuerte que tiene una mejor
protección de contraseña durante el proceso de conexión que en versiones anteriores. Es
seguro incluso si los paquetes TCP / IP se esnifan o la base de datos mysql se captura. (En
versiones anteriores, a pesar de que las contraseñas son almacenadas en forma cifrada en
el conocimiento usertable, del valor de la contraseña cifrada podía ser utiliza para
conectar con el servidor MySQL.)

Cuando se instala MySQL, las tablas de permisos se llenan con un conjunto inicial de cuentas. Estas
cuentas tienen nombres y privilegios de acceso que se describen en la Sección 2.4.5, " Proteger las
cuentas iniciales de MySQL", que también se describe cómo asignar contraseñas a las mismas. A
partir de entonces, se crean, modifican y eliminan cuentas de MySQL usando los comandos GRANT
y REVOKE.

Cuando se conecta a un servidor MySQL con un cliente de línea de comandos, debe especificar el
nombre de usuario y la contraseña de la cuenta que desea utilizar:

shell> mysql --user=monty --passsord=guess db_name

Si prefiere opciones cortas, el comando es el siguiente:

shell> mysql -u monty -pguess dh_name

No debe haber espacio entre la opción -p y el valor de contraseña. Consulte la sección


4.4.4,”Conectando al servidor MySQL. "

El comando anterior incluye el valor de contraseña en la línea de comandos, que puede ser un
riesgo para la seguridad, véase la Sección 4.5.6, "Guardar una contraseña de forma segura". Para
evitarlo, especifique la opción --password o -p sin ningún valor de contraseña a continuación:

shell> mysql –-user=monty --password dh_name


shell> mysql -u monty -p dh_name

A continuación, el programa cliente imprimirá un mensaje y esperará a que introduzca la


contraseña. (En estos ejemplos, db_name no interpretarse como una contraseña, ya que está
separada de la opción de contraseña anterior por un espacio).

En algunos sistemas, la llamada que MySQL usa para pedir una contraseña automáticamente limita
la contraseña de ocho caracteres. Se trata de un problema con la biblioteca del sistema, no con
MySQL Internamente, MySQL no tiene ningún límite para la longitud de la contraseña. Para
solucionar el problema, cambie su contraseña de MySQL en un valor que es de ocho caracteres o
menos largo, o poner su contraseña en un fichero de opciones.
4.5.2 Añadir nuevas cuentas de usuario a MySQL

Puede crear cuentas MySQL de dos formas:

 Mediante el uso de sentencias GRANT.


 Mediante la manipulación de las tablas de permisos MySQL directamente.

El método ideal es usar comandos GRANT, porque son más concisos y menos propenso a errores.
GRANT está disponible desde MySQL 3.22.11; su sintaxis se describe en el Lenguaje de Referencia
de MySQL .

Otra opción para la creación de cuentas es utilizar uno de los varios programas disponibles parte
de terceros que ofrecen capacidades de administración de cuentas de MySQL. phpMyAdmin es
uno de esos programas.

Los siguientes ejemplos muestran cómo utilizar el programa cliente mysql para crear nuevos
usuarios. Estos ejemplos asumen que los permisos se configuran de acuerdo a los valores descritos
en la Sección 2.4.5, "Hacer seguras las cuentas iniciales de MySQL". Esto significa que para realizar
cambios, se debe conectar con el servidor de MySQL como usuario principal de MySQL, y la cuenta
principal debe tener permisos de administrador para usar los comandos INSERT y RELOAD en la
base de atos de mysql.

En primer lugar, utilizar el programa de mysql para conectarse al servidor como usuario principal
de MySQL:

shell> mysql --user=root mysql

Si ha asignado una contraseña para la cuenta principal, también es necesario proporcionar un


--password o la opción -p para este comando de mysql y también para aquellos más
adelante en esta sección.

 Después de conectar con el servidor como principal, puede añadir nuevas cuentas. Las siguientes
declaraciones usa GRANT para inicializar nuevas cuentas:

Anda mungkin juga menyukai