Introducción
Una de las tareas más comunes al administrar una base de datos es supervisar el acceso y los permisos. MariaDB es un sistema de gestión de bases de datos relacionales (RDBMS) de código abierto y totalmente compatible. El cliente de MariaDB facilita agregar nuevos usuarios y otorgarles diferentes grados de privilegios.
Este sencillo tutorial le muestra cómo crear un usuario de MariaDB y luego cómo otorgar privilegios al usuario recién creado.
Requisitos previos
- Acceso a la línea de comandos/ventana de terminal
- Una cuenta de usuario con sudo privilegios
- Una instancia funcional de MariaDB
Acceder al servidor MariaDB
Ingrese el siguiente comando en su terminal de línea de comandos para acceder al shell del cliente de MariaDB:
sudo mysql -u root
Si su usuario raíz tiene una contraseña predefinida, modifique el comando para reflejar ese hecho:
sudo mysql -u root -p
Introduce tu contraseña y accede al cliente MariaDB.
Si aún no ha creado ninguna base de datos, puede hacerlo fácilmente escribiendo el siguiente comando en el shell de su cliente MariaDB:
CREATE DATABASE 'yourDB';
Acceda a una lista de bases de datos existentes escribiendo este comando:
SHOW DATABASES;
La base de datos que acabamos de crear está en la lista.
Crear nuevo usuario de MariaDB
Para crear un nuevo usuario de MariaDB, escriba el siguiente comando:
CREATE USER 'user1'@localhost IDENTIFIED BY 'password1';
En este caso, usamos el nombre de host 'localhost' y no la IP del servidor. Esta práctica es común si planea conectarse SSH a su servidor o cuando usa el cliente local para conectarse a un servidor MySQL local.
Una vez que cree usuario1 , verifique su estado ingresando:
SELECT User FROM mysql.user;
El resultado enumera todos los usuarios existentes.
Otorgar privilegios al usuario de MariaDB
El usuario recién creado no tiene privilegios para administrar bases de datos ni para acceder al shell de MariaDB.
Para otorgar todos los privilegios a usuario1 :
GRANT ALL PRIVILEGES ON *.* TO 'user1'@localhost IDENTIFIED BY 'password1';
El *.* en la declaración se refiere a la base de datos o tabla para la cual el usuario tiene privilegios. Este comando específico proporciona acceso a todas las bases de datos ubicadas en el servidor. Como esto podría ser un problema de seguridad importante, debe reemplazar el símbolo con el nombre de la base de datos a la que está proporcionando acceso.
Para otorgar privilegios solo para su base de datos , escriba la siguiente declaración:
GRANT ALL PRIVILEGES ON 'yourDB'.* TO 'user1'@localhost;
Es crucial actualizar los privilegios una vez que se hayan otorgado nuevos con el comando:
FLUSH PRIVILEGES;
El usuario que ha creado ahora tiene todos los privilegios y acceso a la base de datos y las tablas especificadas.
Una vez que haya completado este paso, puede verificar el nuevo usuario1 tiene los permisos correctos usando la siguiente declaración:
SHOW GRANTS FOR 'user1'@localhost;
La información proporcionada por el sistema se muestra en el terminal.
Eliminar cuenta de usuario de MariaDB
Si necesita eliminar un usuario, puede emplear el DROP
declaración:
DROP USER 'user1'@localhost;
El resultado confirma que usuario1 ya no tiene acceso ni privilegios.