你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
本文介绍如何创建新的用户帐户以与 Azure Database for MySQL 服务器交互。
注释
本文引用了Microsoft不再使用的 从属术语。 从软件中删除术语后,我们会将其从本文中删除。
创建 Azure Database for MySQL 服务器时提供了服务器管理员用户名和密码。 有关详细信息,请参阅 快速入门:使用 Azure 门户创建 Azure Database for MySQL 的实例。 可以在 Azure 门户中确定服务器管理员用户名。
服务器管理员用户具有以下权限:
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
创建 Azure Database for the MySQL 服务器后,可以使用第一个服务器管理员帐户创建更多用户并向其授予管理员访问权限。 还可以使用服务器管理员帐户创建有权访问单个数据库架构的特权较低的用户。
注释
不支持 SUPER 特权和 DBA 角色。 有关更多详细信息,请参阅 支持的特权文档。
默认启用与密码相关的插件 caching_sha2_password 。
若要启用validate_password插件:Azure Database for MySQL 中的内置存储过程,请参阅本文档
创建数据库
获取连接信息和管理员用户名。
若要连接到数据库服务器,需要完整的服务器名称和管理员登录凭据。 可以在 Azure 门户中的服务器“概述”或“属性”页上轻松找到服务器名称和登录信息。
使用管理员帐户和密码连接到数据库服务器。 使用首选客户端工具 MySQL Workbench、mysql.exe或 HeidiSQL。
编辑并运行以下 SQL 代码。 将占位符值
db_user替换为预期的新用户名。 将占位符值testdb替换为数据库名称。
此 SQL 代码创建名为 testdb 的新数据库。 然后,它使 MySQL 服务中的新用户成为该用户,并授予该用户对新数据库架构(testdb.*)的所有权限。
CREATE DATABASE testdb;
创建非admin 用户
可以使用 MySQL 语句创建非admin 用户 CREATE USER 。
CREATE USER 'db_user'@'%' IDENTIFIED BY 'StrongPassword!';
GRANT ALL PRIVILEGES ON testdb . * TO 'db_user'@'%';
FLUSH PRIVILEGES;
验证用户权限
若要查看数据库上db_user用户testdb允许的权限,请运行 SHOW GRANTS MySQL 语句。
USE testdb;
SHOW GRANTS FOR 'db_user'@'%';
使用新用户连接到数据库
登录到服务器,指定指定的数据库,并使用新的用户名和密码。 此示例显示 MySQL 命令行。 使用此命令时,系统会提示输入用户的密码。 使用自己的服务器名称、数据库名称和用户名。 请参阅下表中的连接方式。
--host mydemoserver.mysql.database.azure.com --database testdb --user db_user -p
限制用户的特权
若要限制用户可以在数据库上运行的操作类型,必须在 GRANT 语句中显式地添加这些操作。 请参阅以下示例:
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;
关于azure_superuser
服务器是用一个名为azure_superuser的用户创建的。 Microsoft创建了一个系统帐户来管理服务器并执行监视、备份和定期维护。 呼叫工程师还可以使用此帐户在证书身份验证事件期间访问服务器,并且必须使用实时 (JIT) 进程请求访问。