MySQL es posiblemente uno de los sistemas de administración de bases de datos de código abierto líderes y ampliamente utilizados. Es el sistema de administración de bases de datos relacionales preferido en la mayoría de las empresas de alojamiento web y otros proveedores de nube.
En este tutorial, veremos cómo puede crear cuentas de usuario de MySQL y otorgar privilegios para permitirles acceder y administrar las bases de datos creadas.
Prerrequisitos
Antes de comenzar, el tutorial asume que ya ha instalado una instancia de la base de datos MySQL o MariaDB, que es una bifurcación de MySQL en su sistema.
Accediendo al shell de MySQL
Una vez que MySQL o MariaDB están instalados y protegidos, puede acceder al shell ejecutando el comando
$ mysql -u root -p
A partir de entonces, se le pedirá la contraseña de root y, cuando se la proporcione, presione ENTER para acceder al shell
Cómo crear un usuario en MySQL
Para agregar un usuario en MYSQL, use el comando mysql create user como se muestra
CREATE USER 'linoxide_user'@'localhost' IDENTIFIED BY 'P@ssword123';

El usuario de MySQL consta de 2 secciones: username
y el hostname
. Desde el comando anterior, el nombre de usuario es linoxide_user
y mientras el nombre de host es localhost
La sección de nombre de host indica que el usuario linoxide_user
sólo puede conectarse a MySQL localmente, es decir, desde el servidor donde está alojado MySQL.
Para otorgar acceso desde un sistema host externo, reemplace localhost
con la dirección IP del host remoto.
Para example, para otorgar acceso desde un sistema host con una IP ‘172.16.10.10’, ejecute:
CREATE USER 'linoxide_user'@'172.16.10.10' IDENTIFIED BY 'P@ssword123';

Para otorgar acceso desde cualquier sistema host, use el ‘%’ que actúa como comodín.
CREATE USER 'linoxide_user'@'%' IDENTIFIED BY 'P@ssword123';
Otorgar privilegios a un usuario de MySQL
Cuando se crea un usuario, es posible que desee asignar ciertos privilegios al motor de la base de datos. Estos privilegios otorgan al usuario acceso a las bases de datos y les permiten realizar algunas modificaciones en las bases de datos.
En MySQL, hay miríada de privilegios que se puede asignar a un usuario. En esta guía, sin embargo, arrojamos luz sobre los privilegios más utilizados:
SELECCIONE: Esto permite que un usuario lea toda la base de datos.
ACTUALIZAR: Esto permite a un usuario actualizar las filas en una tabla.
INSERTAR: Permite a un usuario insertar filas en una tabla determinada.
ELIMINAR: Otorga un permiso de uso para eliminar filas en una tabla determinada
CREAR: Permite a un usuario crear bases de datos y tablas
SOLTAR: Otorga permiso al usuario para eliminar toda la base de datos y las tablas.
Para otorgar a un usuario ciertos privilegios para acceder a una base de datos, use la sintaxis que se muestra a continuación:
GRANT privilege1, privilege2 ON database_name.* TO 'database_user'@'localhost';
Para example:
GRANT SELECT, INSERT, ON database_name.* TO database_user@'localhost';

Para otorgar todos los privilegios a un usuario específico en una tabla específica en una base de datos, emita el comando:
GRANT ALL PRIVILEGES ON database_name.table_name TO 'database_user'@'localhost';

Para otorgar a un usuario todos los privilegios sobre todas las bases de datos, ejecute el comando:
GRANT ALL PRIVILEGES ON database_name.* TO 'database_user'@'localhost

Visualización de los privilegios de la cuenta de usuario
Una vez que se ha creado un usuario y se le han asignado privilegios en las bases de datos, puede verificar y confirmar fácilmente los privilegios otorgados al usuario usando el SHOW GRANTS
comandos como se ilustra a continuación:
SHOW GRANTS FOR 'database_user'@'localhost';

Revocación de privilegios de un usuario de MySQL
Además, se puede optar por revocar uno o varios privilegios de un usuario de MySQL. La sintaxis es casi similar a la de otorgar privilegios al usuario.
REVOKE ALL PRIVILEGES ON database_name.* FROM 'database_user'@'localhost';

Eliminar un usuario de MySQL existente
Para eliminar o eliminar un usuario de MySQL, ejecute use el DROP
comando como se muestra:
DROP USER 'database_user'@'localhost';
Para example:

Conclusión
Este tutorial cubre los conceptos básicos de creación y administración de usuarios de MySQL mediante la asignación y revocación de privilegios. Este debería ser un gran punto de partida para principiantes. Esperamos que pueda crear fácilmente cuentas de usuario de MySQL y administrar privilegios y usuarios.