如何通过Azure CLI向Azure Database for MySQL单服务器执行SQL脚本?
针对Azure Database for MySQL单服务器执行SQL脚本的解决方案
Azure CLI确实没有专门针对Azure Database for MySQL单服务器的sql execute类命令(该功能仅支持灵活服务器),但可以通过以下两种方式实现从本地.sql文件执行脚本的需求:
方案一:结合MySQL客户端与Azure CLI获取连接参数
- 先通过Azure CLI拉取单服务器的核心连接信息:
az mysql server show --resource-group <你的资源组名称> --name <你的单服务器名称> --query "{host:fullyQualifiedDomainName, user:administratorLogin}" --output tsv - 使用标准MySQL客户端命令行工具,读取本地脚本文件并执行:
执行后会弹出密码输入提示,输入单服务器管理员密码即可启动脚本执行。mysql -h <服务器FQDN> -u <管理员用户名>@<服务器名称> -p <目标数据库名> < ./你的脚本文件.sql
方案二:自动化参数获取与脚本执行(适合批量/CI场景)
可以将参数获取和脚本执行合并为一条命令链,避免手动复制参数:
SERVER_FQDN=$(az mysql server show --resource-group <资源组名称> --name <服务器名称> --query "fullyQualifiedDomainName" --output tsv) ADMIN_USER=$(az mysql server show --resource-group <资源组名称> --name <服务器名称> --query "administratorLogin" --output tsv) mysql -h $SERVER_FQDN -u ${ADMIN_USER}@<服务器名称> -p<你的管理员密码> <目标数据库名> < ./你的脚本文件.sql
注意:命令行明文写密码存在安全风险,建议改用环境变量或MySQL配置文件存储密码。
另外需要提醒:由于单服务器已确定2024年弃用,建议尽快迁移至灵活服务器,以获得更完整的CLI功能支持和长期服务保障。
内容的提问来源于stack exchange,提问作者Prawin
相关产品推荐
相关产品推荐

