Creación de usuarios en Azure Database for MySQL
SE APLICA A:
Azure Database for MySQL: servidor único
Azure Database for MySQL: servidor flexible
En este artículo se describe cómo puede crear usuarios para Azure Database for MySQL.
Nota
Este artículo contiene referencias al término esclavo, un término que Microsoft ya no usa. Cuando se elimine el término del software, se eliminará también de este artículo.
La primera vez que creó su servidor de Azure Database for MySQL, proporcionó un nombre de usuario y una contraseña de administrador del servidor. Para obtener más información, consulte el Inicio rápido. Puede determinar el nombre del usuario administrador del servidor en Azure Portal.
El usuario administrador del servidor tiene estos privilegios:
SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, PROCESS, REFERENCES, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT y TRIGGER
Una vez creado el servidor de Azure Database for MySQL, puede usar la primera cuenta de usuario administrador del servidor para crear más usuarios y concederles acceso de administrador. Además, la cuenta de administrador del servidor puede usarse para crear usuarios con menos privilegios que tengan acceso a esquemas de base de datos individuales.
Nota
El privilegio SUPER y el rol DBA no se admiten. Revise los privilegios en el artículo que trata sobre las limitaciones para saber lo que no se admite en el servicio.
El servicio no admite complementos de contraseña como validate_password y caching_sha2_password.
Crear una base de datos
Obtenga la información de conexión y el nombre de usuario administrador. Para conectarse al servidor de bases de datos, es preciso utilizar el nombre completo del servidor y las credenciales de inicio de sesión de administrador. Tanto el nombre del servidor como la información de inicio de sesión del mismo se pueden encontrar con facilidad en la página Introducción del servidor o en la página Propiedades de Azure Portal.
Use la cuenta y la contraseña de administrador para conectarse a su servidor de base de datos. Use su herramienta de cliente preferida, como MySQL Workbench, mysql.exe, HeidiSQL u otras.
Nota:
Si no sabe seguro cómo conectarse, consulte conectarse y consultar los datos de un solo servidor o conectarse y consultar datos de un servidor flexible.
Modifique y ejecute el siguiente código SQL. Reemplace el valor
db_userdel marcador de posición por el nuevo nombre de usuario de vaya a usar. Reemplace el valortestdbdel marcador de posición por el nuevo nombre de base de datos que vaya a usar.Este código SQL crea una nueva base de datos denominada testdb. A continuación, se crea un nuevo usuario en el servicio MySQL y concede todos los privilegios al nuevo esquema de base de datos (testdb.*) de ese usuario.
CREATE DATABASE testdb;
Creación de un usuario que no sea administrador
Ahora que se ha creado la base de datos, puede crear con un usuario que no sea administrador con la instrucción MySQL CREATE USER.
CREATE USER 'db_user'@'%' IDENTIFIED BY 'StrongPassword!';
GRANT ALL PRIVILEGES ON testdb . * TO 'db_user'@'%';
FLUSH PRIVILEGES;
Comprobación de los permisos de usuario
Ejecute la instrucción MySQL SHOW GRANTS para ver los privilegios permitidos para los usuarios db_user en la base de datos testdb.
USE testdb;
SHOW GRANTS FOR 'db_user'@'%';
Conectarse a la base de datos con el nuevo usuario
Inicie sesión en el servidor mediante el nuevo nombre de usuario y contraseña, sin olvidarse de especificar la base de datos designada. En este ejemplo se muestra la línea de comandos de mysql. Cuando use este comando, se le pedirá la contraseña del usuario. Reemplace su propio nombre de servidor, el nombre de base de datos y el nombre de usuario. Vea cómo conectarse para servidor único y servidor flexible a continuación.
| Tipo de servidor | Uso |
|---|---|
| Servidor único | mysql --host mydemoserver.mysql.database.azure.com --database testdb --user db_user@mydemoserver -p |
| Servidor flexible | mysql --host mydemoserver.mysql.database.azure.com --database testdb --user db_user -p |
Limitación de privilegios para el usuario
Para restringir el tipo de operaciones que un usuario puede ejecutar en la base de datos, debe agregar explícitamente las operaciones en la instrucción GRANT. Vea el ejemplo siguiente:
CREATE USER 'new_master_user'@'%' IDENTIFIED BY 'StrongPassword!';
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, PROCESS, REFERENCES, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER ON *.* TO 'new_master_user'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
Acerca de azure_superuser
Todos los servidores de Azure Database for MySQL se crean con un usuario llamado "azure_superuser". Se trata de una cuenta del sistema que crea Microsoft para administrar el servidor con el fin de realizar tareas de supervisión, copias de seguridad y otros tipos de mantenimiento estándar. Los ingenieros de guardia también pueden usar esta cuenta para obtener acceso al servidor durante un incidente relacionado con la autenticación de certificados, pero deben solicitar acceso mediante procesos Just-in-Time (JIT).
Pasos siguientes
Para obtener más información acerca de la administración de cuentas de usuario, consulte la documentación del producto de MySQL relativa a la Administración de cuentas de usuario, la Sintaxis GRANT y los Privilegios.