Androide

Cómo crear cuentas de usuarios mysql y otorgar privilegios

crear usuario y asignar privilegios en MySql

crear usuario y asignar privilegios en MySql

Tabla de contenido:

Anonim

MySQL es el sistema de gestión de bases de datos relacionales de código abierto más popular. El servidor MySQL nos permite crear numerosas cuentas de usuario y otorgar los privilegios adecuados para que los usuarios puedan acceder y administrar bases de datos.

Este tutorial describe cómo crear cuentas de usuario MySQL y otorgar privilegios.

Antes de que empieces

Asumimos que ya tiene instalado el servidor MySQL o MariaDB en su sistema.

Todos los comandos se ejecutan dentro del shell MySQL como usuario root o administrativo. Los privilegios mínimos necesarios para crear cuentas de usuario y definir sus privilegios es CREATE USER y GRANT .

Para acceder al shell de MySQL, escriba el siguiente comando e ingrese su contraseña de usuario root de MySQL cuando se le solicite:

mysql -u root -p

Crear una nueva cuenta de usuario MySQL

Una cuenta de usuario en MySQL consta de un nombre de usuario y partes de nombre de host.

Para crear una nueva cuenta de usuario MySQL, ejecute el siguiente comando:

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'user_password'; Reemplace el valor de marcador de posición newuser con su nuevo nombre de usuario deseado, y el valor de marcador de posición user_password con la contraseña de usuario.

En el comando anterior, la parte del nombre de host se establece en localhost , lo que significa que el usuario podrá conectarse al servidor MySQL solo desde el localhost (es decir, desde el sistema donde se ejecuta MySQL Server).

Para otorgar acceso desde otro host, cambie la parte del nombre de host ( localhost ) con la IP remota de la máquina. Por ejemplo, para otorgar acceso desde una máquina con IP 10.8.0.5 , ejecutaría:

CREATE USER 'newuser'@'10.8.0.5' IDENTIFIED BY 'user_password';

Para crear un usuario que pueda conectarse desde cualquier host, use el comodín '%' como parte del host:

CREATE USER 'newuser'@'%' IDENTIFIED BY 'user_password';

Conceder privilegios a una cuenta de usuario MySQL

Existen múltiples tipos de privilegios que se pueden otorgar a una cuenta de usuario. Puede encontrar una lista completa de privilegios compatibles con MySQL aquí.

Los privilegios más utilizados son:

  • ALL PRIVILEGES : otorga todos los privilegios a una cuenta de usuario. CREATE : la cuenta de usuario puede crear bases de datos y tablas. DROP : la cuenta de usuario puede soltar bases de datos y tablas. DELETE : la cuenta de usuario puede eliminar filas de una tabla específica. INSERT : la cuenta de usuario puede insertar filas en una tabla específica. SELECT : la cuenta de usuario puede leer una base de datos. UPDATE : la cuenta de usuario puede actualizar las filas de la tabla.

Para otorgar privilegios específicos a una cuenta de usuario, puede usar la siguiente sintaxis:

GRANT permission1, permission2 ON database_name.table_name TO 'database_user'@'localhost';

Aquí hay unos ejemplos:

  • Grandes privilegios para una cuenta de usuario sobre una base de datos específica:

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

    Grand todos los privilegios para una cuenta de usuario en todas las bases de datos:

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

    Grand todos los privilegios para una cuenta de usuario sobre una tabla específica de una base de datos:

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

    Otorgue múltiples privilegios a una cuenta de usuario sobre una base de datos específica:

    GRANT SELECT, INSERT, DELETE ON database_name.* TO database_user@'localhost';

Mostrar privilegios de cuenta de usuario MySQL

Para encontrar los privilegios otorgados a una cuenta de usuario MySQL específica, use la instrucción SHOW GRANTS :

SHOW GRANTS FOR 'database_user'@'localhost';

+---------------------------------------------------------------------------+ | Grants for database_user@localhost | +---------------------------------------------------------------------------+ | GRANT USAGE ON *.* TO 'database_user'@'localhost' | | GRANT ALL PRIVILEGES ON `database_name`.* TO 'database_user'@'localhost' | +---------------------------------------------------------------------------+ 2 rows in set (0.00 sec)

Revocar privilegios de una cuenta de usuario MySQL

La sintaxis para revocar uno o más privilegios de una cuenta de usuario es casi idéntica a la de otorgar privilegios.

Por ejemplo, para revocar todos los privilegios de una cuenta de usuario sobre una base de datos específica, use el siguiente comando:

REVOKE ALL PRIVILEGES ON database_name.* FROM 'database_user'@'localhost';

Eliminar una cuenta de usuario MySQL existente

Para eliminar una cuenta de usuario MySQL, use la declaración DROP USER :

DROP USER 'user'@'localhost'

El comando anterior eliminará la cuenta de usuario y sus privilegios.

Conclusión

Este tutorial cubre solo los conceptos básicos, pero debería ser un buen comienzo para cualquiera que quiera aprender a crear nuevas cuentas de usuario MySQL y otorgar privilegios.

mysql mariadb