Mysql Creación de usuarios

De MediaWiki
Ir a la navegación Ir a la búsqueda

Introducción

  • Vimos en el punto anterior como es posible manipular la tabla user directamente con las órdenes SQL INSERT, UPDATE, DELETE.
Pero a la hora de crear nuevos usuarios, normalmente haremos uso de órdenes SQL pertenecientes al lenguaje de control de datos.


SQL

Creando nuevos usuarios

  • La orden SQL que permite añadir nuevos usuarios es: CREATE USER.


Su forma más simple:
1 CREATE USER nombre_usuario IDENTIFIED BY 'password';
nombre_usuario tiene el formato: 'usuario'@'host'
Por ejemplo:
1 CREATE USER 'angel' IDENTIFIED BY '12345678';
Estaríamos añadiendo una nueva fila a la tabla 'user' de la base de datos 'mysql', con nombre de usuario 'angel' y password '12345678'


  • Si no podemos la palabra clave 'IDENTIFIED BY' estaríamos creando un usuario sin contraseña, lo cual no es recomendado.
Por ejemplo:
1 CREATE USER 'anonimo';
Al crear este usuario sin contraseña, podríamos conectarnos al Mysql sin enviar el parámetro -p o --password en herramientas clientes:
1 mysql -u anonimo


  • Para ver las sentencia 'CREATE USER' utilizada para crear un determinado usuario, debemos ejecutar la orden SQL: SHOW CREATE USER usuario
Por ejemplo, para ver la sentencia 'create user' del usuario actual podemos poner:
1 SHOW CREATE USER CURRENT_USER();
Mysql usuarios 1.jpg



Conexiones seguras

  • Queda fuera de este manual explicar los tipos de certificados y como funcionan para garantizar una conexión segura.
Decir que se basan en el uso de 'claves públicas' y 'claves privadas'.
Podemos consultar la wikipedia para aclarar los conceptos.


  • En MYSQL podemos hacer que el servidor acepte conexiones SSL, es decir, conexiones cifradas.
Para ello debemos seguir los siguientes pasos:


  • Podemos 'obligar' a un determinado usuario que solo se pueda conectar si utiliza una conexión cifrada mediante un certificado SSL:
1 CREATE USER 'usuario'@'localhost' REQUIRE SSL;
Como vemos al final de la orden CREATE USER debemos escribir REQUIRE SSL.
Nota: Un certificado SSL es el tipo de certificado más conocidos de los certificados X.509.












-- Ángel D. Fernández González -- (2017).