Administrar permisos de usuario en MySQL

MySQLBeginner
Practicar Ahora

Introducción

En este proyecto, aprenderás a administrar los permisos de los usuarios en una base de datos MySQL. En particular, crearás un nuevo usuario local llamado "Rong" y le otorgarás acceso a la base de datos performance_schema.

👀 Vista previa

MariaDB [(none)]> SHOW GRANTS FOR Rong@localhost;
+-------------------------------------------------------------------------------------------------------------+
| Grants for Rong@localhost                                                                                   |
+-------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO `Rong`@`localhost` IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' |
| GRANT SELECT ON `performance_schema`.* TO `Rong`@`localhost`                                                |
+-------------------------------------------------------------------------------------------------------------+
2 rows in set (0.000 sec)

🎯 Tareas

En este proyecto, aprenderás:

  • Cómo iniciar el servidor MySQL y conectarse a la terminal de MySQL
  • Cómo crear un nuevo usuario local con una contraseña específica
  • Cómo otorgar a un usuario acceso a una base de datos específica y sus tablas

🏆 Logros

Después de completar este proyecto, podrás:

  • Administrar cuentas de usuario y permisos en una base de datos MySQL
  • Comprender el proceso de otorgar y revocar acceso a la base de datos para los usuarios
  • Aplicar estas habilidades para configurar permisos de usuario en tus propias aplicaciones basadas en MySQL

Iniciar MySQL y Conectarse

En este paso, aprenderás a iniciar el servidor MySQL y conectarse a la terminal de MySQL.

  1. Abra una terminal en su sistema.

  2. Ejecute el siguiente comando para iniciar el servicio MySQL:

    sudo /etc/init.d/mysql start
    
  3. Conectarse a la terminal de MySQL:

    mysql -uroot
    

    Ahora debería estar en la terminal de MySQL, donde puede ingresar comandos de MySQL.

Crear un Usuario Local

En este paso, aprenderás a crear un nuevo usuario local llamado "Rong" con la contraseña "123456".

  1. Crea el archivo manUser.sql en el directorio ~/project.

  2. Agrega el siguiente código al archivo para crear el usuario:

    CREATE USER 'Rong'@'localhost' IDENTIFIED BY '123456';
    

    Esto crea un nuevo usuario llamado "Rong" con la contraseña "123456" y permite que el usuario inicie sesión desde la máquina local (localhost).

Conceder Acceso a la Performance_schema

En este paso, aprenderás a conceder acceso a la base de datos performance_schema al usuario "Rong".

  1. Abra el archivo manUser.sql.

  2. Conceda los permisos necesarios después del código agregado en el paso anterior:

    GRANT SELECT ON performance_schema.* TO 'Rong'@'localhost';
    

    Esto otorga al usuario "Rong" el permiso de selección en todas las tablas de la base de datos performance_schema.

  3. Finalmente, actualice las privilegios y haga que los cambios surtan efecto:

    FLUSH PRIVILEGES;
    

Verificar la solución

  1. Ejecute el script SQL en el terminal de MySQL:
SOURCE /home/labex/project/manUser.sql;
  1. Verifique los resultados ejecutando el siguiente comando en el terminal de MySQL:
SHOW GRANTS FOR Rong@localhost;

Esto debería mostrar los permisos del usuario "Rong", incluyendo el permiso de selección en la base de datos performance_schema.

MariaDB [(none)]> SHOW GRANTS FOR Rong@localhost;
+-------------------------------------------------------------------------------------------------------------+
| Grants for Rong@localhost                                                                                   |
+-------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO `Rong`@`localhost` IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' |
| GRANT SELECT ON `performance_schema`.* TO `Rong`@`localhost`                                                |
+-------------------------------------------------------------------------------------------------------------+
2 rows in set (0.000 sec)

Resumen

¡Felicidades! Has completado este proyecto. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.

✨ Revisar Solución y Practicar✨ Revisar Solución y Practicar✨ Revisar Solución y Practicar✨ Revisar Solución y Practicar