GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo verificar los privilegios de usuario de MySQL en Linux

La primera/nueva instalación de un MySQL en cualquier sistema operativo solo considera al usuario raíz como el usuario predeterminado de la base de datos. Las primeras transacciones/actividades de la base de datos las realiza únicamente el usuario root.

Por lo tanto, no es ideal para cualquier usuario que necesite acceso a la base de datos MySQL para obtener acceso a través de las credenciales de usuario raíz. El acceso del usuario raíz debe reservarse para el administrador de la base de datos, quien luego usará las credenciales del usuario raíz para crear usuarios de la base de datos y otorgar privilegios para ejecutar diferentes consultas de la base de datos.

También es una práctica ideal que el administrador de la base de datos evite utilizar al usuario root para acceder a MySQL. base de datos, sino que cree otro usuario y otorgue a este usuario los mismos privilegios de acceso y ejecución que el usuario root.

Esta guía de artículos es ideal para MariaDB , Edición empresarial de MySQL y Edición de la comunidad de MySQL usuarios Para demostrar cómo verificar los privilegios de usuario de MySQL, primero crearemos diferentes usuarios de prueba con diferentes privilegios de MySQL.

Crear un nuevo usuario de MySQL

Primero, obtenga acceso raíz a su MySQL base de datos desde su terminal Linux usando el comando:

$ mysql -u root -p

La sintaxis del comando para crear un usuario de MySQL es la siguiente:

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

El caso de uso anterior se aplica a un MySQL instalado en una máquina local. Si estuviera usando una máquina/servidor remoto, tendría que reemplazar 'username'@'localhost' con 'username'@'remote_machine_ip_address' .

Si desea un usuario que pueda conectarse a cualquier sistema MySQL instalado sin especificar el nombre de host o la dirección IP, siga la sintaxis del comando:

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

Ahora vamos a crear varios usuarios de la base de datos MySQL.

CREATE USER 'user1'@'localhost' IDENTIFIED BY 'password1';  
CREATE USER 'user2'@'localhost' IDENTIFIED BY 'password2';  
CREATE USER 'user3'@'%' IDENTIFIED BY 'password3';  

Tenga en cuenta que estos usuarios son para fines de demostración y, por lo tanto, considere crear contraseñas de usuario de base de datos más seguras para su entorno de producción.

Otorgar privilegios al nuevo usuario de MySQL

El siguiente paso es asignar a estos usuarios de la base de datos creados diferentes roles (privilegios de usuario). Estos privilegios de usuario se relacionan con las acciones de la base de datos que los diferentes usuarios de la base de datos pueden realizar.

Podemos desglosar estos permisos para:

  • Todos los privilegios :El usuario al que se le asignó este permiso puede realizar todas las funciones de la base de datos.
  • Insertar :El usuario al que se le asignó este permiso puede insertar datos de fila de la tabla de la base de datos.
  • Eliminar :El usuario al que se le asignó este permiso puede eliminar los datos de las filas de la tabla de la base de datos.
  • Crear :El usuario al que se le asignó este permiso puede crear bases de datos y tablas que no existen.
  • Soltar :El usuario asignado a este rol puede eliminar bases de datos y tablas existentes.
  • Seleccionar :El usuario asignado a este permiso puede leer información de bases de datos.
  • Actualizar :El usuario al que se le asignó este permiso puede modificar los datos de las filas de la tabla de la base de datos.
  • Opción de concesión :El usuario al que se le asigna este permiso puede modificar los privilegios de otras cuentas de usuario de la base de datos.

Por ejemplo, si concediéramos a usuario1 todos los privilegios a todas las bases de datos y tablas para ser como el usuario root, ejecutaríamos el comando:

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

Si concediéramos a usuario2 todos los privilegios para todas las tablas de la base de datos de una base de datos específica (por ejemplo, mysql ), ejecutaríamos el comando:

GRANT ALL PRIVILEGES ON mysql.* TO 'user2'@'localhost';

Si concediéramos a usuario3 el privilegio de solo crear nuevos usuarios de MySQL, ejecutaríamos el comando:

GRANT INSERT ON mysql.user TO 'user3'@'%';

Comprobación de privilegios de usuario en MySQL

Para verificar los privilegios de la base de datos de un usuario, consulte la sintaxis del comando:

SHOW GRANTS FOR username;

Para verificar estos tres privilegios de usuarios:

SHOW GRANTS FOR user1@localhost;
SHOW GRANTS FOR user2@localhost;
SHOW GRANTS FOR user3;

Para revocar los privilegios asignados por el usuario, consulte la sintaxis del comando:

REVOKE permission_type ON database.table FROM 'username'@'hostname'; 

Por ejemplo;

REVOKE INSERT ON mysql.user FROM user3;

[ También le puede interesar:Hoja de referencia de comandos de la base de datos MySQL para Linux ]

Con este artículo, ahora comprende todo lo que debe saber sobre los privilegios de usuario de MySQL.


Linux
  1. Cómo comprobar la versión de MySQL en Linux

  2. Cómo reparar la base de datos MySQL

  3. Cómo configurar los privilegios de Sudo para el usuario en Linux

  4. Cómo comprobar la versión de MySQL en Linux

  5. Cómo comprobar la versión de MySQL en Linux

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

Cómo permitir el acceso remoto al servidor de base de datos MySQL

Cómo cambiar el nombre de la base de datos MySQL en Linux

Cómo cambiar de usuario en Linux

¿Cómo agregar una base de datos MySQL en SolidCP?

¿Cómo agregar una base de datos MySQL en WebsitePanel 2.1?