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

este tutorial describe cómo crear cuentas de usuario de MySQL y conceder privilegios.

antes de comenzar #

asumimos que ya tiene MySQL o MariaDB server instalado en su sistema.

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

para acceder al shell de MySQL escriba el siguiente comando e ingrese su contraseña de usuario raíz de MySQL cuando se le solicite:

mysql -u root -p

Si tiene MySQL versión 5.7 o posterior que utiliza el auth_socket plugin login como root escribiendo:

sudo mysql

crear una nueva cuenta de usuario de MySQL #

una cuenta de usuario en MySQL consta de dos partes: nombre de usuario y nombre de host.,

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

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'user_password';
Reemplace newuser con el nuevo nombre de usuario, y user_password con la contraseña de usuario.

en el ejemplo anterior, la parte hostname 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 conceder acceso desde otro host, cambie la parte hostname con la IP del equipo remoto., 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 de MySQL #

Hay varios tipos de privilegios que se pueden conceder a una cuenta de usuario. Puede encontrar una lista completa de privilegios soportados por MySQL aquí .,

los privilegios más utilizados son:

  • ALL PRIVILEGES – otorga todos los privilegios a una cuenta de usuario.
  • CREATE
  • DROP – la cuenta de usuario tiene permitido soltar bases de datos y tablas.
  • DELETE – la cuenta de usuario puede eliminar filas de una tabla específica.
  • INSERT – La cuenta de usuario se le permite insertar filas en una tabla específica.,
  • SELECT
  • UPDATE – la cuenta de usuario puede actualizar las filas de la tabla.,ble de una base de datos:

    GRANT ALL PRIVILEGES ON database_name.table_name TO 'database_user'@'localhost';
  • conceder varios 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 los privilegios de la cuenta de usuario de MySQL #

para encontrar los privilegios ID=»fbf6decf14″>

statement:

SHOW GRANTS FOR 'database_user'@'localhost';

la salida se verá algo como a continuación:

revoke privileges from a MySQL user account #

la sintaxis para revocar uno o más privilegios de una cuenta de usuario es casi idéntica a cuando se otorgan privilegios.,

para revocar todos los privilegios de una cuenta de usuario sobre una base de datos específica, ejecute 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 utilice la instrucción DROP USER:

DROP USER 'user'@'localhost'

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

conclusión #

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