Cómo crear un nuevo usuario y otorgar permisos en MySQL

Cómo crear un nuevo usuario y otorgar permisos en MySQL

MySQL. es un sistema de administración de bases de datos popular y ampliamente utilizado que almacena y organiza datos y permite a los usuarios recuperarlos. Viene con una amplia gama de opciones que otorgan a los usuarios ciertos permisos sobre tablas y bases de datos.

En esta guía, aprenderá cómo crear un nuevo usuario y otorgar permisos en MySQL. base de datos.

Cómo crear un nuevo usuario en MySQL

Para crear un nuevo usuario, primero inicie sesión en el shell de MySQL.

$ sudo mysql-u root-p

Proporcione la contraseña de sudo seguida de la contraseña que proporcionó al configurar la base de datos MySQL y presione ENTER. A partir de entonces, recibirá este mensaje.

Conectarse a MySQL Shell  Conectarse a MySQL Shell Conectarse a MySQL Shell

Para crear un nuevo usuario, use la sintaxis que se muestra a continuación:

MariaDB [ninguno]> CREAR USUARIO ‘ nuevo usuario. @ ‘localhost’ IDENTIFICADO POR ‘ contraseña. ; freestar.config.enabled_slots.push

Por ejemplo, para crear un nuevo usuario llamado ‘ tecmint. dentro de la base de datos, invoque el comando:

MariaDB [none]> CREAR USUARIO ‘ tecmint. @ ‘localhost’ IDENTIFICADO POR ‘ QkYKmw $ 5tec. ; Algunos puntos a tener en cuenta

Al agregar un usuario localmente, es decir, en el sistema en el que ha instalado MySQL. el host del usuario se especifica como localhost. y no la dirección IP. La palabra clave “ localhost. se traduce como “ esta computadora. y MySQL la trata de manera única. Básicamente, el cliente mysql utiliza localhost para establecer una conexión con el servidor de base de datos MySQL instalado localmente.

Hasta ahora, el usuario tecmint. no tiene ningún permiso para interactuar con el bases de datos. De hecho, el usuario ni siquiera puede acceder al shell de MySQL.

Para otorgar al usuario acceso completo a todas las bases de datos, incluidas las tablas, ejecute.

MariaDB [none]> GRANT ALL PRIVILEGIOS SOBRE *. * PARA ‘ tecmint. @ ‘localhost’;

En el comando anterior, los asteriscos apuntan a la base de datos y la tabla respectivamente a las que el usuario puede acceder. Otorga al usuario todos los derechos sobre la base de datos: leer. escribir. editar,. y ejecutar. incluida la realización de todos las tareas en otras bases de datos y tablas también.

Hasta ahora, le hemos otorgado al usuario acceso completo a la base de datos. Si bien esto es útil para explicar los conceptos de MySQL, generalmente no se recomienda ya que podría representar un riesgo de seguridad para sus bases de datos. Solo piense en lo que podría suceder si un pirata informático se apoderara de la contraseña del usuario. Continuaremos y analizaremos cómo asignar permisos específicos en la siguiente sección.

Cuando haya terminado de asignar permisos al usuario, vuelva a cargar todos los privilegios como se muestra para que los cambios surtan efecto.

MariaDB [ninguno]> PRIVILEGIOS DE FLUSH

Cómo otorgar diferentes permisos de usuario

Aquí hay un desglose de los posibles permisos que puede otorgar a los usuarios:

  • TODOS PRIVILEGIOS. como se vio anteriormente, esto le otorga al usuario de MySQL acceso completo a una base de datos específica.
  • CREAR. permite a los usuarios crear nuevas bases de datos o tablas.
  • DROP. permite a los usuarios eliminar bases de datos o usuarios.
  • INSERT. permite a los usuarios insertar filas en tablas.
  • ELIMINAR. permite a los usuarios eliminar filas de las tablas.
  • SELECCIONAR. con el permiso ‘SELECCIONAR’, los usuarios pueden leer el contenido de una tabla.
  • ACTUALIZAR. permite a los usuarios actualizar las filas en una tabla.
  • OPCIÓN DE CONCESIÓN. los usuarios pueden otorgar o eliminar los privilegios de otros usuarios.

Para otorgar un permiso de usuario específico, utilice la sintaxis:

MariaDB [none]> GRANT permiso_tipo ON nombre_base_datos.nombre_tabla TO ‘username’ @ ‘localhost’;

Además, puede asignar permisos a todas las tablas en una base de datos con un solo símbolo de asterisco como se muestra:

MariaDB [none]> GRANT permiso_tipo ON nombre_base_datos. * TO ‘username’ @ ‘localhost’;

Por ejemplo, para asignar permisos SELECT. al usuario “ tecmint. en todas las tablas de la base de datos testdb. ejecute el comando.

MariaDB [ninguno]> GRANT SELECT ON testdb. * TO ‘tecmint’ @ ‘localhost’;

Luego, elimine los privilegios para que los cambios surtan efecto.

MariaDB [none]> FLUSH PRIVILEGES;  Asignar permisos de selección a Usuario en la base de datos  Asignar permisos de selección a un usuario en la base de datos Asignar permisos de selección a Usuario en la base de datos

Además, puede asignar varios permisos de una vez separándolos con una coma como se muestra.

MariaDB [none]> GRANT INSERT. UPDATE EN testdb. * TO ‘ tecmint. @ ‘localhost’;  Asignar múltiples permisos a la base de datos  Asignar múltiples permisos a la base de datos Asignar múltiples permisos a la base de datos

Cómo revocar permisos MySQL

Para revocar los permisos de un usuario, utilice la sintaxis:

MariaDB [none]> REVOKE permiso_tipo. ON nombre_base_datos.nombre_tabla. FROM ‘username’ @ ‘ localhost ‘;

Por ejemplo, para revocar los permisos INSERT. del usuario ‘ tecmint. , ejecute el comando.

MariaDB [none]> REVOKE INSERT. EN testdb. * FROM tecmint ‘@’ localhost ‘; MariaDB [ninguno]> PRIVILEGIOS DE DESCARGA  Revocar permisos de MySQL  Revocar permisos MySQL Revocar permisos MySQL

Para echar un vistazo a los permisos actuales de un usuario, ejecute:

MariaDB [ninguno]> MOSTRAR SUBVENCIONES PARA ‘username’ @ ‘localhost’;

De la salida a continuación, podemos ver que el permiso INSERT. se ha eliminado del usuario ‘ tecmint. dejando solo SELECT. y UPDATE. derechos en la base de datos testdb.

Comprobar los permisos de MySQL del usuario  Verificar permisos de usuario MySQL Verifique los permisos de usuario MySQL

Para probar el inicio de sesión en el shell de MySQL usando nuevo usuario, primero cierre la sesión.

MariaDB [none]> quit;

Luego, vuelva a iniciar sesión.

$ sudo mysql-u tecmint-p

Proporcione la contraseña del usuario y presione ENTER. para acceder al shell.

Para eliminar un usuario, use el comando DROP. tal como lo haría al eliminar una base de datos.

MariaDB [none]> DROP USER ‘username’ @ ‘localhost’;

También le gustaría leer los siguientes artículos relacionados con MySQL:

  • Consejos útiles para solucionar errores comunes en MySQL
  • Mytop-Una herramienta útil para monitorear MySQL/MariaDB Rendimiento en Linux
  • Cómo cambiar el puerto predeterminado de MySQL/MariaDB en Linux
  • Cómo restablecer la contraseña de raíz de MySQL o MariaDB en Linux

Conclusión

Con suerte, a esta altura, puede crear usuarios en sus servidores de base de datos MySQL y asignar o revocar permisos cómodamente.