在 Azure Database for MySQL 中创建数据库和用户

备注

将要查看的是 Azure Database for MySQL 的新服务。 若要查看经典 MySQL Database for Azure 的文档,请访问此页

本文介绍如何在 Azure Database for MySQL 中创建用户。

备注

本文包含对术语“从属”的引用,这是 Microsoft 不再使用的术语。 在从软件中删除该术语后,我们会将其从本文中删除。

首次创建 Azure Database for MySQL 服务器时,需要提供服务器管理员用户名和密码。 有关详细信息,请参阅此快速入门。 你可以在 Azure 门户中确定你的服务器管理员用户名。

服务器管理员用户具有以下权限:

选择、插入、更新、删除、创建、放置、重载、处理、引用、索引、更改、显示数据库、创建临时表、锁定表、执行、复制从属、复制客户端、创建视图、显示视图、创建例程、更改例程、创建用户、事件、触发器

创建 Azure Database for MySQL 服务器后,你可以使用第一个服务器管理员帐户来创建更多用户,并向这些用户授予管理员访问权限。 你还可以使用服务器管理员帐户来创建只能访问各个数据库架构的权限较低的用户。

备注

不支持 SUPER 权限和 DBA 角色。 请在“限制”一文中查看权限,以了解服务中不支持的权限。

服务器不支持 validate_passwordcaching_sha2_password 等密码插件。

若要在 Azure Database for MySQL 中使用非管理员用户创建数据库

  1. 获取连接信息和管理员用户名。 若要连接到数据库服务器,需提供完整的服务器名称和管理员登录凭据。 可以在 Azure 门户的服务器“概览”页或“属性”页中轻松地找到服务器名称和登录信息 。

  2. 使用管理员帐户和密码连接到你的数据库服务器。 使用你的首选客户端工具,如 MySQL Workbench、mysql.exe 或 HeidiSQL。

    如果你不确定如何连接,请参阅连接和查询单一服务器的数据

  3. 编辑并运行下面的 SQL 代码。 将占位符 db_user 替换为所需的新用户名。 将占位符 testdb 替换为数据库名称。

    此 SQL 代码创建名为 testdb 的新数据库。 然后,它在 MySQL 服务中创建新用户,并将所有权限授予该用户的新数据库架构 (testdb.*)。

    CREATE DATABASE testdb;
    
    CREATE USER 'db_user'@'%' IDENTIFIED BY 'StrongPassword!';
    
    GRANT ALL PRIVILEGES ON testdb . * TO 'db_user'@'%';
    
    FLUSH PRIVILEGES;
    
  4. 验证数据库中的授予:

    USE testdb;
    
    SHOW GRANTS FOR 'db_user'@'%';
    
  5. 登录到服务器,指定选定的数据库并使用新用户名和密码。 此示例显示了 mysql 命令行。 使用此命令时,系统会提示你输入用户的密码。 使用你自己的服务器名称、数据库名称和用户名。

    mysql --host mydemoserver.mysql.database.chinacloudapi.cn --database testdb --user db_user@mydemoserver -p
    

在 Azure Database for MySQL 中创建更多管理员用户

  1. 获取连接信息和管理员用户名。 若要连接到数据库服务器,需提供完整的服务器名称和管理员登录凭据。 可以在 Azure 门户的服务器“概览”页或“属性”页中轻松地找到服务器名称和登录信息 。

  2. 使用管理员帐户和密码连接到你的数据库服务器。 使用你的首选客户端工具,如 MySQL Workbench、mysql.exe 或 HeidiSQL。

    如果你不确定如何连接,请参阅使用 MySQL Workbench 连接和查询数据

  3. 编辑并运行下面的 SQL 代码。 将占位符 new_master_user 替换为新用户名。 此语法会将所有数据库架构 ( . ) 上列出的权限授予该用户名(本示例中的 new_master_user)。

    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;
    
  4. 验证授予:

    USE sys;
    
    SHOW GRANTS FOR 'new_master_user'@'%';
    

azure_superuser

所有 Azure Database for MySQL 服务器都是使用名为“azure_superuser”的用户创建的。 这是 Azure 创建的系统帐户,用于管理服务器以执行监视、备份和其他定期维护。 待命工程师还可以使用此帐户在发生证书身份验证事件期间访问服务器,并且必须使用实时 (JIT) 进程请求访问。

后续步骤

针对新用户计算机的 IP 地址打开防火墙,使其能够连接:

有关用户帐户管理的详细信息,请参阅 MySQL 产品文档,了解用户帐户管理GRANT 语法权限