GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo crear un nuevo usuario de MySQL y otorgar privilegios

Introducción

MySQL es una aplicación de base de datos para Linux y parte de la popular pila LAMP (Linux, Apache, MySQL, PHP). Una instalación de MySQL incluye opciones de administración a través de un usuario raíz o cuentas de usuario específicas.

Por razones de seguridad, generalmente es mejor crear y manejar datos como usuarios específicos.

En este tutorial, aprenda a crear cuentas de usuario de MySQL y a administrar sus permisos y privilegios.

Requisitos previos

  • Un servidor Linux con MySQL o MariaDB instalado y funcionando
  • Acceso a las credenciales de usuario root de MySQL
  • Acceso a una ventana de terminal/línea de comandos (Ctrl-Alt-T / Ctrl-Alt-F2)

Cómo crear un nuevo usuario de MySQL

1. Antes de que pueda crear un nuevo usuario de MySQL, debe abrir una ventana de terminal e iniciar el shell de MySQL como usuario raíz. Para hacerlo, ingrese el siguiente comando:

sudo mysql –u root –p

2. Escriba la contraseña raíz para esta cuenta y presione Entrar.

El mensaje debería cambiar para mostrar que está en mysql> concha.

3. A continuación, cree un nuevo usuario de MySQL con:

CREATE USER 'username' IDENTIFIED BY 'password';

Reemplazar nombre de usuario y contraseña con un nombre de usuario y contraseña de su elección.

Alternativamente, puede configurar un usuario especificando la máquina que aloja la base de datos.

  • Si está trabajando en la máquina con MySQL, use [email protected] para definir el usuario.
  • Si se está conectando de forma remota, use [email protected]_address y reemplace ip_address con la dirección real del sistema remoto que aloja MySQL.

Por lo tanto, el comando será:

CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';

o

CREATE USER 'username'@'ip_address' IDENTIFIED BY 'password';

También puede crear un usuario que pueda conectarse desde cualquier máquina con el comando:

CREATE USER 'username'@'%' IDENTIFIED BY 'password';

Cómo otorgar permisos en MySQL

Antes de iniciar sesión con una nueva cuenta, asegúrese de haber configurado los permisos para el usuario.

Los permisos son acciones que el usuario puede realizar en la base de datos. Según la autoridad que desee que tenga su usuario, puede otorgarle uno, varios o todos los siguientes privilegios:

  • Todos los privilegios: La cuenta de usuario tiene acceso total a la base de datos
  • Insertar: El usuario puede insertar filas en las tablas
  • Eliminar: El usuario puede eliminar filas de las tablas
  • Crear: El usuario puede crear tablas y bases de datos completamente nuevas
  • Soltar: El usuario puede descartar (eliminar) tablas y bases de datos completas
  • Seleccione: El usuario obtiene acceso al comando de selección, para leer la información en las bases de datos
  • Actualización: El usuario puede actualizar las filas de la tabla
  • Opción de concesión: El usuario puede modificar otros privilegios de cuenta de usuario

La sintaxis básica utilizada para otorgar privilegios a una cuenta de usuario es:

GRANT permission_type ON database.table TO 'username'@'localhost';

Por ejemplo, para otorgar privilegios de inserción a un usuario de MySQL ejecutaría el comando:

GRANT INSERT ON *.* TO 'username'@'localhost';

Puede reemplazar el nivel de privilegio según sus necesidades. Ejecute el comando para cada privilegio que desee otorgar.

Si desea limitar el acceso del usuario a una base de datos específica, nombre esa base de datos antes del punto. Del mismo modo, puede restringir el acceso de un usuario a una tabla en particular nombrándola después del punto, como en el siguiente comando:

GRANT INSERT *database_name.table_name* TO 'username'@'localhost';

Administración de usuarios de MySQL

Esta sección lo ayudará a enumerar los privilegios que tiene una cuenta de usuario, quitarle privilegios a un usuario y eliminar por completo una cuenta de usuario. También le mostrará cómo cerrar sesión en la cuenta de usuario raíz de MySQL y volver a iniciar sesión con la cuenta que acaba de crear.

Cómo enumerar los privilegios de la cuenta de usuario de MySQL

Para mostrar todos los privilegios actuales de un usuario:

SHOW GRANTS FOR username;

Cómo otorgar todos los privilegios en una base de datos en MySQL

Para otorgar todos los privilegios al usuario de MySQL en todas las bases de datos usa el comando:

GRANT ALL PRIVILEGES ON *.* TO 'database_user'@'localhost';

Sin embargo, también puede otorgar todos los privilegios a una cuenta de usuario en un específico base de datos con el siguiente comando:

GRANT ALL PRIVILEGES ON database_name.* TO 'database_user'@'localhost';

Para otorgar todos los privilegios a una cuenta de usuario sobre una tabla específica desde una base de datos, escriba:

GRANT ALL PRIVILEGES ON database_name.table_name TO 'database_user'@'localhost';

Revocar privilegios de cuenta de usuario de MySQL

Para recuperar los privilegios de un usuario específico, use REVOKE dominio. Funciona de manera similar al comando GRANT, siendo su sintaxis básica:

REVOKE permission_type ON database.table TO 'username'@'localhost';

Eliminar una cuenta de usuario completa

Para eliminar una cuenta de usuario de MySQL use el comando:

DROP USER 'username'@'localhost';

Linux
  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. Cree una nueva base de datos y utilícela en MySQL/MariaDB

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

  5. ¿Cómo crear un nuevo usuario con acceso Ssh?

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

¿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 un usuario Sudo en Ubuntu y Debian

Cómo crear y administrar nuevos usuarios en Linux