Cómo mencionamos anteriormente: el servidor de base de datos permite que más de un usuario pueda trabajar con los recursos del servidor (registros, tablas, bases de datos, funciones, etc..).
Hasta este punto del curso, todos los ejercicios los hemos realizado utilizando el usuario root.
Si nosotros somos los únicos administradores del servidor (algo que muy pocas veces sucede) no deberíamos tener problemas en seguir utilizando root, sin embargo, si más personas trabajarán con el servidor, será necesario que generemos nuevos usuarios y asignemos los permisos pertinentes.
Agregar nuevos usuarios
Para que nosotros generemos un nuevo usuario lo primero que debemos de hacer es autenticarnos en el servidor.
mysql -u root -p -h localhost<ip>
Posteriormente debemos de generar un nuevo Usuario, Para esto ejecutamos las siguiente sentencia.
CREATE USER 'usuario'@'localhost' IDENTIFIED BY 'password';
Hasta este punto, nosotros ya podemos autenticarnos con el servidor utilizando el nuevo usuario, sin embargo, una vez autenticado las acciones que podemos hacer son mínimas, debido a que este usuario no posee los permisos necesarios para trabajar con las bases de datos.
Asignar permisos
Para poder establecer permisos, las siguiente sentencias deben de ejecutarse utilizando el usuario root.
Si queremos que el nuevo usuario tenga permisos de administrador (Todos los permisos), debemos de ejecutar la siguiente sentencia.
GRANT ALL PRIVILEGES ON *.* TO 'nombre_usuario'@'localhost';
Los asteriscos indican que los permisos serán asignados a todas las bases de datos y a todas las tablas (primer asteriscos bases de datos, segundo asterisco tablas).
Si queremos asignar permisos para ciertas acciones, la sentencia quedaría de la siguiente manera. Reemplazamos ALL PRIVILEGES y colocamos las acciones que queremos asignar.
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP
-> ON codigofacilito.*
-> TO 'nombre_usuario'@'localhost';
En esta ocasión estamos indicando que el nuevo usuario podrá consultar, crear, actualizar y eliminar registros, así cómo podrá crear o eliminar elementos (tablas, índices, columnas, funciones, stores, etc ...).
Todos estos permisos serán válidos únicamente en la base de datos codigofacilito y se aplicarán a todas las tablas.
Si queremos asignar permisos únicamente a una tabla, reemplazamos el asteriscos por el nombre de la tabla.
ejemplo codigofacilito.usuarios
Una vez hayamos finalizado con los permisos, el último paso será refrescarlos.
FLUSH PRIVILEGES;
Permisos
Aquí un listado de algunos permisos que podemos asignar.
- CREATE permite crear nuevas tablas o bases de datos.
- DROP permite eliminar tablas o bases de datos.
- DELETE permite eliminar registros de tablas.
- INSERT permite insertar registros en tablas.
- SELECT permite leer registros en las tablas.
- UPDATE permite actualizar registros en las tablas.
- GRANT OPTION permite remover permisos de usuarios.
- SHOW DATABASE Permite listar las bases de datos existentes.
Sentencias a tener en cuenta
Listado de todos los usuarios.
SELECT User FROM mysql.user;
Eliminar un usuario.
DROP USER 'usuario'@'localhost';
Remover permisos en concreto (Ejemplo update y delete).
REVOKE UPDATE, DELETE ON *.* FROM 'usuario'@'localhost';
Remover todos los privilegios.
REVOKE ALL PRIVILEGES ON *.* FROM 'usuario'@'localhost';
-
Módulo 1 | 8 clases
Introdución
expand_more-
play_circle_outline
Clase 1
Introducción
-
play_circle_outline
Clase 2
¿Qué son las bases de datos?
-
play_circle_outline
Clase 3
Modelo relacional
-
play_circle_outline
Clase 4
Lenguaje SQL
-
play_circle_outline
Clase 5
Instalación MySQL windows
-
play_circle_outline
Clase 6
Instalación MySQL Linux
-
play_circle_outline
Clase 7
Instalación MySQL Mac OS
-
play_circle_outline
Clase 8
Restablecer contraseña root MySQL
-
-
Módulo 2 | 3 clases
Servidor de base de datos
expand_more -
Módulo 3 | 10 clases
Base de datos y tablas
expand_more-
play_circle_outline
Clase 1
Crear tablas
-
play_circle_outline
Clase 2
Tipos de datos
-
play_circle_outline
Clase 3
Listar y eliminar tablas
-
play_circle_outline
Clase 4
Obtener información de una tabla
-
play_circle_outline
Clase 5
Crear tablas a partir de otras
-
play_circle_outline
Clase 6
Insertar registros
-
play_circle_outline
Clase 7
Insertar múltiples registros
-
play_circle_outline
Clase 8
Ejecutar archivos .SQL
-
play_circle_outline
Clase 9
Condicionar sentencias
-
play_circle_outline
Clase 10
Consultas rápidas
-
-
Módulo 4 | 8 clases
Restricciones
expand_more-
play_circle_outline
Clase 1
Restricciones
-
play_circle_outline
Clase 2
Valores únicos y nulos
-
play_circle_outline
Clase 3
Valores por defualt
-
play_circle_outline
Clase 4
Números positivos
-
play_circle_outline
Clase 5
Tipo Enum
-
play_circle_outline
Clase 6
Llaves primarias
-
play_circle_outline
Clase 7
Llaves Foraneas
-
play_circle_outline
Clase 8
Implementación de restricciones
-
-
Módulo 5 | 2 clases
Modificar tablas
expand_more -
Módulo 6 | 12 clases
Sentencias basicas
expand_more-
play_circle_outline
Clase 1
¿Cómo se ejecutan las sentencias SQL?
-
play_circle_outline
Clase 2
Obtener registros mediante condiciones
-
play_circle_outline
Clase 3
Operadores lógicos
-
play_circle_outline
Clase 4
Registros nulos
-
play_circle_outline
Clase 5
Registros mediante rangos
-
play_circle_outline
Clase 6
Búsqueda por listas
-
play_circle_outline
Clase 7
Registros unicos
-
play_circle_outline
Clase 8
Alías
-
play_circle_outline
Clase 9
Actualizar registros
-
play_circle_outline
Clase 10
Eliminar registros
-
play_circle_outline
Clase 11
Eliminación en cascada
-
play_circle_outline
Clase 12
Restaurar definición de una tabla
-
-
Módulo 7 | 8 clases
Funciones
expand_more-
play_circle_outline
Clase 1
Funciones en SQL
-
play_circle_outline
Clase 2
Funciones sobre strings
-
play_circle_outline
Clase 3
Funciones sobre números
-
play_circle_outline
Clase 4
Funciones sobre fechas
-
play_circle_outline
Clase 5
Funciones sobre condiciones
-
play_circle_outline
Clase 6
Crear función
-
play_circle_outline
Clase 7
Listar funciones
-
play_circle_outline
Clase 8
Ejecutar sentencias dentro de funciones
-
-
Módulo 8 | 12 clases
Sentencias avanzadas
expand_more-
play_circle_outline
Clase 1
Búsqueda mediante strings
-
play_circle_outline
Clase 2
Expresiones regulares
-
play_circle_outline
Clase 3
Ordenar registros
-
play_circle_outline
Clase 4
Limitar registros
-
play_circle_outline
Clase 5
¿Qué son las funciones de agreación?
-
play_circle_outline
Clase 6
Funciones de agregación
-
play_circle_outline
Clase 7
Agrupamiento
-
play_circle_outline
Clase 8
Condiciones bajo agrupamiento
-
play_circle_outline
Clase 9
Unir resultados
-
play_circle_outline
Clase 10
Sub consultas
-
play_circle_outline
Clase 11
Validar registros
-
play_circle_outline
Clase 12
Ejercicios
-
-
Módulo 9 | 7 clases
Joins
expand_more-
play_circle_outline
Clase 1
Trabajo con múltiples tablas
-
play_circle_outline
Clase 2
Inner join
-
play_circle_outline
Clase 3
Sub clausula using
-
play_circle_outline
Clase 4
Left Join
-
play_circle_outline
Clase 5
Right Join
-
play_circle_outline
Clase 6
Múltiples joins
-
play_circle_outline
Clase 7
Productos cartesianos
-
-
Módulo 10 | 4 clases
Vistas
expand_more -
Módulo 11 | 7 clases
Procedimientos
expand_more-
play_circle_outline
Clase 1
Procedimientos almacenados
-
play_circle_outline
Clase 2
Crear procedimientos
-
play_circle_outline
Clase 3
Eliminar procedimientos
-
play_circle_outline
Clase 4
Obtener valores
-
play_circle_outline
Clase 5
Condicionales
-
play_circle_outline
Clase 6
Casos
-
play_circle_outline
Clase 7
Ciclos
-
-
Módulo 12 | 4 clases
Transacciones
expand_more -
Módulo 13 | 5 clases
Extras
expand_more -
Módulo 14 | 5 clases
Triggers
expand_more -
check_circle_outlineMódulo 15
Examen del curso
expand_more-
done_all
Examen
Examen final del curso
-
