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 gestión de bases de datos popular y ampliamente utilizado que almacena y organiza datos y permite a los usuarios recuperarlo. Viene con una amplia gama de opciones que otorgan a los usuarios ciertos permisos a tablas y bases de datos.

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

Cómo crear un nuevo usuario en MySQL

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

$ sudo mysql -u root -p 

Proporcione la contraseña de sudo seguido de la contraseña que se proporciona al configurar la base de datos MySQL y presionar INGRESAR. A partir de entonces, obtendrá este aviso.

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'; 

Por ejemplo, para crear un nuevo usuario llamado 'tecmenta'Dentro de la base de datos, invoca el comando:

Mariadb [ninguno]> crear usuario 'tecmenta'@' localhost 'identificado por'QKYKMW $ 5TEC'; 

Algunos puntos a tener en cuenta

Al agregar un usuario localmente.mi., en el sistema que ha instalado Mysql, El host del usuario se especifica como hostil, y no la dirección IP. La palabra clave 'hostil'se traduce a'este computador'Y MySQL lo 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 tecmenta El usuario no tiene ningún permiso para interactuar con las bases de datos. De hecho, el usuario ni siquiera puede acceder al shell mysql.

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

Mariadb [none]> otorgue todos los privilegios en * . * A 'tecmenta'@' localhost '; 

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

Hasta ahora, hemos otorgado al usuario el 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 hacker se apodere de la contraseña del usuario. Continuaremos más y discutiremos cómo asignar permisos específicos en la siguiente sección.

Cuando haya terminado de asignar permisos al usuario, recargue todos los privilegios como se muestra para que los cambios entren en vigencia.

Mariadb [ninguno]> privilegios de descarga 

Cómo otorgar diferentes permisos de usuario

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

  • Todos los privilegios - Como se vio anteriormente, esto otorga a un usuario de MySQL acceso completo a una base de datos específica.
  • CREAR - Permite a los usuarios crear nuevas bases de datos o tablas.
  • GOTA - Permite a los usuarios eliminar bases de datos o usuarios.
  • INSERTAR - Permite a los usuarios insertar filas en tablas.
  • BORRAR - 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 subvención - Los usuarios pueden otorgar o eliminar los privilegios de otros usuarios.

Para otorgar un permiso específico del usuario, use la sintaxis:

Mariadb [ninguno]> permiso de subvención_type en database_name.table_name a '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 [ninguno]> permiso de subvención_type en database_name.* A 'username'@'localhost'; 

Por ejemplo, para asignar SELECCIONAR permisos para 'tecmenta'Usuario en todas las tablas de la base de datos testdb, Ejecutar el comando.

Mariadb [ninguno]> SECURN SELECCIÓN EN TESTDB.* A 'tecMint'@'localhost'; 

Luego, los privilegios de lavado para que los cambios entren en vigencia.

Mariadb [ninguno]> privilegios de descarga; 
Asignar permisos de selección al usuario en la base de datos

Además, puede asignar múltiples permisos en una marcha separándolos con una coma como se muestra.

Mariadb [ninguno]> Grant INSERTAR, ACTUALIZAR EN testdb.* A 'tecmenta'@' localhost '; 
Asignar múltiples permisos a la base de datos

Cómo revocar los permisos de MySQL

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

Mariadb [ninguno]> revocar permiso_type EN nombre de la base de datos.nombre de la tabla De 'UserName'@'localhost'; 

Por ejemplo, para revocar INSERTAR permisos del usuario 'tecmenta', ejecuta el comando.

Mariadb [ninguno]> revocar INSERTAR EN testdb.* De TecMint '@' localhost '; Mariadb [ninguno]> privilegios de descarga 
Revocar los permisos de MySQL

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

Mariadb [none]> show subvenciones para 'nombre de usuario'@'localhost'; 

De la siguiente salida, podemos ver que el INSERTAR Se ha eliminado el permiso del 'tecmenta'SOLO USUARIO SOLO SELECCIONAR y ACTUALIZAR derechos sobre el testdb base de datos.

Verifique los permisos de usuario MySQL

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

Mariadb [ninguno]> salir; 

Luego vuelva a iniciar sesión.

$ sudo mysql -u tecmint -p 

Proporcionar la contraseña del usuario y presionar INGRESAR Para acceder a la carcasa.

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

Mariadb [none]> soltar el usuario 'nombre de usuario'@'localhost'; 

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

  • Consejos útiles para solucionar problemas de errores comunes en MySQL
  • Mytop: una herramienta útil para monitorear el rendimiento de MySQL/Mariadb en Linux
  • Cómo cambiar el puerto predeterminado MySQL/mariadb en Linux
  • Cómo restablecer la contraseña de root MySQL o Mariadb en Linux
Conclusión

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