Crear usuario en MYSQL con CREATE USER
Para crear un nuevo usuario en MySQL, necesitas acceso a la base de datos. Además, también debes contar con privilegios de usuario root, con los que puedes crear cuentas de usuario y gestionar los permisos asignados. Asimismo, es importante que sepas qué tipo de permiso vas a otorgar al nuevo usuario: permisos de lectura, permisos de escritura o incluso permisos de administrador.
Con una cuenta root, puedes crear nuevas cuentas de usuario MySQL y asignarles una serie de permisos. Es importante conocer que en los sistemas Ubuntu con MySQL 5.7 y versiones posteriores, la autenticación del usuario root no se realiza con contraseña, sino con el plugin
Para crear un nuevo usuario en MySQL, usa el comando
Sustituye “nombreusuario” por un nombre de usuario de tu elección. A continuación, introduce en
Existen varias opciones disponibles de plugin de autenticación. Aunque el plugin
Después de haber creado un nuevo usuario, llega el momento de asignarle una serie de permisos.
El valor
Si lo deseas, puedes conceder los privilegios estipulados para todas las bases de datos o tablas en un único comando. Solo tienes que introducir
Después de ejecutar en MySQL
Sin embargo, es importante que los usuarios solo cuenten con los permisos que necesiten. Al fin y al cabo, otorgándole a los usuarios determinados privilegios, también estás aumentando el riesgo de seguridad.
Para mostrar los permisos actuales de un usuario, puedes utilizar el comando
El comando
Sin embargo, la eliminación de usuarios hay que llevarla a cabo con mucho cuidado, sobre todo en el caso de los usuarios con privilegios administrativos. Evita la pérdida accidental de datos asegurándote de que eliminas el usuario que realmente deseas.
Después de crear un nuevo usuario MySQL y otorgarle permisos, puedes salir del cliente MySQL:
¿Le ha resultado útil este artículo?
Crear un usuario con MySQL
Al instalar el sistema gestor de bases de datos, MySQL crea una cuenta root con control total sobre las bases de datos, tablas y usuarios. Si necesitas ayuda con la instalación, encontrarás toda la información importante en la siguiente guía para aprender a utilizar MySQL.Con una cuenta root, puedes crear nuevas cuentas de usuario MySQL y asignarles una serie de permisos. Es importante conocer que en los sistemas Ubuntu con MySQL 5.7 y versiones posteriores, la autenticación del usuario root no se realiza con contraseña, sino con el plugin
auth_socket
. Para que la autenticación se lleve a cabo con éxito, el nombre del usuario del sistema que quiere usar el cliente MySQL debe coincidir con el nombre del usuario MySQL especificado en el comando. Es decir, para poder acceder a la cuenta root es importante anteponer el comando sudo
:$ sudo mysql
bashCREATE USER
, con el que podrás crear un usuario con un nombre de usuario y contraseña específicos:mysql> CREATE USER 'nombreusuario'@'host' IDENTIFIED WITH authentication_plugin BY 'contraseña';
bashhost
el nombre del host desde el que se conectará el nuevo usuario. Si el usuario solo va a poder acceder desde tu servidor Ubuntu local, puedes introducir localhost
.Existen varias opciones disponibles de plugin de autenticación. Aunque el plugin
auth_socket
ofrece un alto nivel de seguridad, ya que los usuarios deben introducir una contraseña para acceder a la base de datos, también impide las conexiones remotas. Esto puede desembocar en un mayor esfuerzo cuando programas externos necesitan interactuar con MySQL. Como alternativa, puedes omitir la parte del comando WITH authentication_plugin
para que el usuario realice la autenticación con el plugin estándar de MySQL caching_sha2_password
. El comando en este caso se muestra como sigue:mysql> CREATE USER 'sammy'@'localhost' IDENTIFIED BY 'password';
bash Dominios web
Compra y registra tu dominio ideal - Domina el mercado con nuestra oferta 3x1 en dominios
- Tu dominio protegido con SSL Wildcard gratis
- 1 cuenta de correo electrónico por contrato
Asignar permisos de usuario con MySQL create user
Para garantizar la seguridad de los datos en MySQL, crear y gestionar permisos de usuario es muy importante. El comando para asignar permisos de usuario es:mysql> GRANT PRIVILEGE ON database.table TO 'nombreusuario'@'host';
bashPRIVILEGE
determina de qué privilegios dispone el usuario en la base de datos y tabla especificadas. Puedes reemplazar este valor con los siguientes comandos, entre otros:-
CREATE
: permite a los usuarios crear una base de datos o tabla. -
SELECT
: permite a los usuarios acceder a datos. -
INSERT
: permite a los usuarios añadir nuevas entradas a las tablas. -
UPDATE
: permite a los usuarios cambiar entradas existentes en las tablas. -
DEELETE
: permite a los usuarios borrar entradas de la tabla. -
DROP
: permite a los usuarios eliminar tablas completas de la base de datos.
mysql> GRANT SELECT, INSERT, UPDATE ON database.table TO 'nombre_usuario'@'host';
bash*
en lugar de los nombres de la base de datos y las tablas. En el siguiente comando, por ejemplo, se autoriza a un usuario a consultar datos en todas las bases de datos y tablas con SELECT
, así como a añadir nuevas entradas con INSERT
y a modificar entradas existentes con UPDATE
.mysql> GRANT SELECT, INSERT, UPDATE ON *.* TO nombredeusuario@'host';
bashCREATE USER
o GRANT
, puedes utilizar el comando FLUSH PRIVILEGES
para actualizar la base de datos y actualizar las tablas de privilegios. De este modo, entran en vigor los nuevos permisos:mysql> FLUSH PRIVILEGES;
bashCrear usuario MySQL: revocar permisos de usuario
El comandoREVOKE
se utiliza para revocar permisos de usuario en MySQL. La sintaxis es similar a la del comando GRANT
. Sin embargo, en este caso debes utilizar FROM
en lugar de TO
:mysql> REVOKE type_of_permission ON nombre_base_de_datos.nombre_tabla FROM 'nombreusuario'@'host';
bashSHOW GRANTS
:mysql> SHOW GRANTS FOR 'nombreusuario'@'host';
bashDROP
se utiliza para eliminar un usuario:mysql> DROP USUARIO 'nombreusuario'@'localhost';
bashDespués de crear un nuevo usuario MySQL y otorgarle permisos, puedes salir del cliente MySQL:
mysql> exit
bash