bookmark_borderCrear usuario y darle permisos en mariadb

Los pasos para crear un nuevo usuario en mariadb. Es necesario que tengas el root o algun usuario con permisos de administración.

Ingresa a mariadb, si estas en el servidor puedes hacerlo con la siguiente sentencia, existen otras sentencias pero basicamente debes de iniciar sesión con el administrador.

$ sudo mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 682924
Server version: 10.3.29-MariaDB-0ubuntu0.20.10.1-log Ubuntu 20.10

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

Crea el usuario con la siguiente sentencia:

MariaDB [(none)]> CREATE USER 'usuario'@localhost IDENTIFIED BY 'passwordusuario';

Donde:

  • usuario@localhost. Es el nombre del usuario y el lugar desde donde se puede conectar ese usuario. En este caso este usuario solo se puede conectar estando en el servidor registrado. Si quisieramos que este usuario se pudiera conectar desde otros equipos podriamos poner una IP fija o el % para indicar que se puede conectar desde cualquier equipo.
  • passwordusuario. Es la contraseña que va a utilizar el usuario para conectarse el servidor. Esta sentencia solo crea el usuario y no puede utilizar ningun recurso (base de datos, ejecución de procedimientos, etc) del servidor.

Despues de crear el usuario debe de otorgar los permisos al usuario con la siguiente sentencia.

MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'usuario'@localhost IDENTIFIED BY 'passwordusuario';

Si solo deseamos dar permisos sobre una base de datos.

MariaDB [(none)]> GRANT ALL PRIVILEGES ON 'yourDB'.* TO 'usuario'@localhost;
MariaDB [(none)]> 

Bueno ahora llega el momento de revisar que todo funcione.

MariaDB [(none)]>  FLUSH PRIVILEGES;
MariaDB [(none)]>  SELECT host, user FROM mysql.user;
MariaDB [(none)]>  SHOW GRANTS FOR 'usuario'@localhost;

Si necesitas mas información acerca de CREATE USER o de GRANT PRIVILEGES ON TO.