El artículo describe los permisos de la base de datos MySQL®. También describe cómo crear un nuevo usuario y otorgar o revocar permisos.
Usando comandos MySQL
Las siguientes son sugerencias útiles para los comandos de MySQL.
Capitalización
No es necesario que escriba los comandos de MySQL en mayúsculas. Los dos comandos siguientes funcionan igual de bien:
CREATE USER ‘username’@’localhost’ IDENTIFIED BY ‘password’;
create user ‘username’@’localhost’ identified by ‘password’;
Sin embargo, el uso de letras mayúsculas le ayuda a mantener la sintaxis del comando separada de los datos o elementos variables del comando.
parámetro localhost
Además, puede cambiar el localhost
elemento, que permite al usuario acceder a la base de datos desde la computadora en la que se encuentra actualmente. Si desea permitir que el usuario acceda a la base de datos desde cualquier lugar, use un %
símbolo en lugar de localhost
. Si desea que el usuario inicie sesión en la base de datos desde una dirección IP específica, inserte esa dirección IP en su lugar. Por ejemplo, username’@’22.111.000.34
.
Por lo tanto, podría crear un usuario con cualquiera de los siguientes comandos:
CREAR USUARIO 'nombre de usuario'@'localhost' IDENTIFICADO POR 'contraseña'; CREAR USUARIO 'nombre de usuario'@'%' IDENTIFICADO POR 'contraseña'; CREAR USUARIO 'nombre de usuario'@'22.111.000.34' IDENTIFICADO POR 'contraseña';
localhost
ubicación en el comando. Luego, vuelva a crear el usuario utilizando la dirección IP específica.
Permisos
Los permisos comunes incluyen lo siguiente:
-
TODOS LOS PRIVILEGIOS :Permite al usuario acceso completo a una base de datos designada o permite el acceso global a través del sistema si no designa una base de datos. Este permiso incluye todos los siguientes permisos excepto GRANT .
-
CREAR :permite al usuario crear nuevas tablas o bases de datos.
-
SOLTAR :permite al usuario eliminar tablas o bases de datos.
-
ELIMINAR :permite al usuario eliminar filas de las tablas.
-
INSERTAR :permite al usuario insertar filas en las tablas.
-
SELECCIONAR :Otorga al usuario privilegios de solo lectura para las bases de datos designadas.
-
ACTUALIZAR :permite al usuario actualizar las filas de la tabla.
-
TABLAS DE BLOQUEO :Permite al usuario bloquear mesas.
-
MOSTRAR BASES DE DATOS :permite al usuario listar todas las bases de datos.
-
OPCIÓN DE CONCESIÓN :permite al usuario otorgar o eliminar los privilegios de otros usuarios. Debe otorgar este permiso explícitamente.
Iniciar sesión
Inicie sesión en MySQL como usuario raíz utilizando el siguiente comando:
mysql -u root -p
El sistema le solicita la contraseña raíz para MySQL, que es diferente a la contraseña raíz para el propio servidor.
Crear un nuevo usuario
Ahora que ha iniciado sesión en MySQL como root, puede crear su usuario. Elija un nombre de usuario que le guste. Ingrese el siguiente comando, reemplazando username
y password
con su nombre de usuario y contraseña elegidos:
CREATE USER ‘username’@’localhost’ IDENTIFIED BY ‘password’;
Si tiene éxito, el sistema muestra Consulta OK .
Otorgar permiso
Use el siguiente formato para otorgar privilegios de usuario en MySQL:
GRANT permission1, permission2, permission3 ON databasename.tablename TO ‘newuser’@’localhost’;
Si solo desea dar acceso al usuario a todas las tablas de una base de datos, use databasename.*
en lugar de databasename.tablename
. De manera similar, si desea que el usuario tenga un conjunto particular de privilegios en todas las tablas de todas las bases de datos, use *.*
.
Ejemplos de concesión de privilegios:
GRANT ALL PRIVILEGES ON databasename.* TO ‘newuser’@’%’;
GRANT ALL PRIVILEGES, GRANT OPTION ON *.* TO ‘newuser’@’22.111.000.34’;
GRANT SELECT, SHOW DATABASES, LOCK TABLES ON databasename.* TO ‘newuser’@’localhost’;
Revocar permisos
Cuando necesite revocar los privilegios de un usuario, use el siguiente formato:
REMOVE permission1, permission2, permission3 ON databasename.* FROM ‘newuser’@’localhost’;
Verificar permisos
Para verificar qué privilegios tiene un usuario, use el siguiente comando:
SHOW GRANTS newuser;
Aplicar permisos
Después de crear un usuario, otorgar privilegios o revocar privilegios, ejecute el siguiente comando:
FLUSH PRIVILEGES;
Este comando recarga las tablas con los nuevos usuarios y privilegios incluidos. Piense en ello como guardar sus cambios.
Cerrar sesión
Una vez que haya terminado de hacer cambios, use el siguiente comando para salir de MySQL de forma segura:
EXIT;