快速入门:使用 Azure CLI 连接 Azure Database for MySQL - 灵活服务器
本快速入门演示了如何在 Azure CLI 中使用 az mysql flexible-server connect
连接到 Azure Database for MySQL 灵活服务器并使用 az mysql flexible-server execute
命令执行单个查询或 sql 文件。 通过此命令可测试与数据库服务器的连接并运行查询。 还可以使用交互模式运行多个查询。
先决条件
- 具有活动订阅的 Azure 帐户。
如果没有 Azure 订阅,可在开始前创建一个 Azure 试用帐户。
- 安装 Azure CLI 最新版本(2.20.0 或更高版本)
- 通过
az login
命令使用 Azure CLI 登录 - 使用
az config param-persist on
启用参数持久性。 参数暂留有助于使用本地上下文,而无需重复大量参数,如资源组或位置等。
创建 MySQL 灵活服务器
首先需要创建托管的 Azure Database for MySQL 灵活服务器实例。 运行以下脚本,并记下该命令生成的“服务器名称”、“用户名”和“密码”。
az mysql flexible-server create --public-access <your-ip-address> --location chinaeast2
你可以为此命令提供更多参数来自定义它。 查看 az mysql flexible-server create 的所有参数。
创建数据库
如果尚未创建数据库,请运行以下命令来创建一个数据库 newdatabase
。
az mysql flexible-server db create --database-name newdatabase --resource-group <group-name> --server-name <server-name>
查看所有参数
可以通过 --help
参数查看此命令的所有参数。
az mysql flexible-server connect --help
测试数据库服务器连接
运行以下脚本,在开发环境中测试和验证与数据库的连接。
az mysql flexible-server connect -n <servername> -u <username> -p <password> -d <databasename>
示例:
az mysql flexible-server connect -n mysqldemoserver1 -u dbuser -p "dbpassword" -d newdatabase
对于成功的连接,应看到以下输出:
Command group 'mysql flexible-server' is in preview and under development. Reference and support levels: https://aka.ms/CLI_refstatus
Connecting to newdatabase database.
Successfully connected to mysqldemoserver1.
如果连接失败,请尝试以下解决方案:
- 检查是否已在客户端计算机上打开端口 3306。
- 服务器管理员用户名和密码是否正确
- 是否已为客户端计算机配置防火墙规则
- 如果已在虚拟网络中为服务器配置了专用访问权限,请确保客户端计算机位于同一虚拟网络中。
使用交互模式运行多个查询
可以使用“交互”模式运行多个查询。 若要启用交互模式,请运行以下命令
az mysql flexible-server connect -n <server-name> -u <username> -p <password> --interactive
示例:
az mysql flexible-server connect -n mysqldemoserver1 -u dbuser -p "dbpassword" -d newdatabase --interactive
你可以看到 MySQL shell 体验,如下所示:
Command group 'mysql flexible-server' is in preview and under development. Reference and support levels: https://aka.ms/CLI_refstatus
Password:
mysql 5.7.29-log
mycli 1.22.2
Chat: https://gitter.im/dbcli/mycli
Mail: https://groups.google.com/forum/#!forum/mycli-users
Home: http://mycli.net
Thanks to the contributor - Martijn Engler
newdatabase> CREATE TABLE table1 (id int NOT NULL, val int,txt varchar(200));
Query OK, 0 rows affected
Time: 2.290s
newdatabase1> INSERT INTO table1 values (1,100,'text1');
Query OK, 1 row affected
Time: 0.199s
newdatabase1> SELECT * FROM table1;
+----+-----+-------+
| id | val | txt |
| +----+-----+-------+ |
| 1 | 100 | text1 |
| +----+-----+-------+ |
| 1 row in set |
| Time: 0.149s |
| newdatabase>exit; |
Goodbye!
运行单个查询
运行以下命令,以使用 --querytext
参数 -q
执行单个查询。
az mysql flexible-server execute -n <server-name> -u <username> -p "<password>" -d <database-name> --querytext "<query text>"
示例:
az mysql flexible-server execute -n mysqldemoserver1 -u dbuser -p "dbpassword" -d newdatabase -q "select * from table1;" --output table
你可以看到如下所示的输出:
Command group 'mysql flexible-server' is in preview and under development. Reference and support levels: https://aka.ms/CLI_refstatus
Successfully connected to mysqldemoserver1.
Ran Database Query: 'select * from table1;'
Retrieving first 30 rows of query output, if applicable.
Closed the connection to mysqldemoserver1
Txt Val
----- -----
test 200
test 200
test 200
test 200
test 200
test 200
test 200
运行 SQL 文件
可以通过 --file-path
参数 -q
使用命令执行 SQL 文件。
az mysql flexible-server execute -n <server-name> -u <username> -p "<password>" -d <database-name> --file-path "<file-path>"
示例:
az mysql flexible-server execute -n mysqldemoserver -u dbuser -p "dbpassword" -d flexibleserverdb -f "./test.sql"
你可以看到如下所示的输出:
Command group 'mysql flexible-server' is in preview and under development. Reference and support levels: https://aka.ms/CLI_refstatus
Running sql file '.\test.sql'...
Successfully executed the file.
Closed the connection to mysqldemoserver.