Creación de usuarios en Azure Database for MySQL
SE APLICA A: Azure Database for MySQL (servidor único) Azure Database for MySQL (servidor flexible)
Importante
El servidor único de Azure Database for MySQL está en proceso de retirada. Es muy recomendable actualizar al servidor flexible de Azure Database for MySQL. Para obtener más información sobre la migración al servidor flexible de Azure Database for MySQL, consulte ¿Qué sucede con el servidor único de Azure Database for MySQL?
En este artículo se describe cómo puede crear usuarios para Azure Database for MySQL.
Nota
En este artículo se hace referencia 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.
Ha proporcionado un nombre de usuario y una contraseña de administrador del servidor al crear el servidor de Azure Database for MySQL. 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.
Necesita el nombre completo del servidor y las credenciales de inicio de sesión de administrador para conectarse al servidor de bases de datos. Tanto el nombre del servidor como la información de inicio de sesión del mismo se pueden encontrar con facilidad en la 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, 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_user
del marcador de posición por el nuevo nombre de usuario de vaya a usar. Reemplace el valortestdb
del 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 le concede todos los privilegios al nuevo esquema de base de datos (testdb.*).
CREATE DATABASE testdb;
Crear un usuario que no sea administrador
Ahora que ha creado la base de datos, puede empezar por crear un usuario no administrador utilizando la instrucción MySQLCREATE 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
Para ver los privilegios permitidos para el usuario db_user en la base de datos testdb, ejecute la instrucción MySQL SHOW GRANTS
.
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 utilice 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 conectar el servidor único y el flexible en la siguiente tabla.
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 un 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. Observe 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 creada por Microsoft para administrar el servidor con el fin de realizar tareas de supervisión, copias de seguridad y otros tipos de mantenimiento habitual. 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.