GNU/Linux >> Tutoriales Linux >  >> Ubuntu

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 para 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 sudo seguida de la contraseña que proporcionó al configurar la base de datos MySQL y presione ENTRAR . A partir de entonces, recibirá este aviso.

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

MariaDB [none]> CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';

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

MariaDB [none]> CREATE USER 'tecmint'@'localhost' IDENTIFIED BY 'QkYKmw$5tec';

Algunos puntos a tener en cuenta

Al agregar un usuario localmente, es decir, en el sistema 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 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 tecmint el usuario no tiene ningún permiso para interactuar con las 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 PRIVILEGES ON * . * TO 'tecmint'@'localhost';

En el comando anterior, los asteriscos apuntan a la base de datos y la tabla, respectivamente, a las que puede acceder el usuario. Otorga al usuario todos los derechos sobre la base de datos:leer , escribir , editar, y ejecutar incluida la realización de todas 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 pasar si un pirata informático se apoderara de la contraseña del usuario. Continuaremos y discutiremos 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 [none]> FLUSH PRIVILEGES

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.
  • SOLTAR – Permite a los usuarios eliminar bases de datos o usuarios.
  • INSERTAR – Permite a los usuarios insertar filas en las 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 de una tabla.
  • OPCIÓN DE CONCESIÓN – Los usuarios pueden otorgar o quitar los privilegios de otros usuarios.

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

MariaDB [none]> GRANT permission_type ON database_name.table_name 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 permission_type ON database_name.* TO 'username'@'localhost';

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

MariaDB [none]> GRANT SELECT ON testdb.* TO 'tecmint'@'localhost';

Luego vacíe los privilegios para que los cambios surtan efecto.

MariaDB [none]> FLUSH PRIVILEGES;

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

MariaDB [none]> GRANT INSERT, UPDATE ON testdb.* TO 'tecmint'@'localhost';

Cómo revocar permisos de MySQL

Para revocar permisos de un usuario, use la sintaxis:

MariaDB [none]> REVOKE permission_type ON database_name.table_name FROM 'username'@'localhost';

Por ejemplo, para revocar INSERTAR permisos del usuario 'tecmint ', ejecute el comando.

MariaDB [none]> REVOKE INSERT ON testdb.* FROM tecmint'@'localhost';
MariaDB [none]> FLUSH PRIVILEGES

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

MariaDB [none]> SHOW GRANTS FOR 'username'@'localhost';

En el resultado a continuación, podemos ver que INSERT el permiso ha sido borrado del 'tecmint ’ usuario dejando solo SELECT y ACTUALIZAR derechos en testdb base de datos.

Para probar el inicio de sesión en el shell de MySQL con el 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 ENTRAR para acceder al shell.

Para dar de baja a un usuario, utilice el botón DROP comando, 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 el rendimiento de MySQL/MariaDB en Linux
  • Cómo cambiar el puerto MySQL/MariaDB predeterminado en Linux
  • Cómo restablecer la contraseña raíz de MySQL o MariaDB en Linux
Conclusión

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


Ubuntu
  1. Cómo agregar un nuevo usuario de MySQL y otorgar privilegios de acceso

  2. Cómo crear y eliminar un grupo de usuarios en Linux

  3. Cómo MySQL:crear un usuario y otorgar permiso a una base de datos

  4. ¿Cómo crear una base de datos MySQL y su usuario en CWP?

  5. Cómo crear y eliminar usuarios en Ubuntu 16.04

Cómo crear un nuevo usuario administrador de WordPress a través de MySQL

Cómo crear un nuevo usuario de MySQL a través de phpMyAdmin

¿Cómo crear una base de datos MySQL y un usuario en cPanel?

¿Cómo crear una nueva base de datos MySQL y un usuario?

¿Cómo puedo crear una nueva base de datos MySQL en cPanel?

Cómo crear y administrar nuevos usuarios en Linux