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 la ruta de retirada. Se recomienda encarecidamente actualizar al servidor flexible de Azure Database for MySQL. Para más información sobre la migración al servidor flexible de Azure Database for MySQL, consulte ¿Qué ocurre con Azure Database for MySQL con servidor único?

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

  1. 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.

  2. 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.

  1. 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 valor testdb 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 que no sea administrador mediante la CREATE USER instrucción MySQL.

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 SHOW GRANTS instrucción MySQL.

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 conectar el servidor único y la flexible en la tabla siguiente.

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