EF Core 使用Azure App Service中的In-App MySQL服务
Azure App Service 提供了一个应用内的MySQL,可以供测试、开发使用。
前提条件是需要使用Windows的操作系统。
创建完App Server 之后,只需要在设置下开启 MySQL In App 即可。

在应用中可以从环境变量中获取连接字符串。
var mysqlconnstr = Environment.GetEnvironmentVariable("MYSQLCONNSTR_localdb")
但是Azure提供的连接字符串是一些格式:
Database={database};Data Source={host}:{port};User Id={username};Password={password}
看起来没有多大的问题,但是如果直接使用,则会抛出错误, Unable to connect to any of the specified MySQL hosts.。
其实正常情况下的连接字符串是如下格式的:
Database={database};Data Source={host},{port};User Id={username};Password={password}
这么对比,就看得出问题所在,就是Data Source中,host和port的分隔符的差异。
最快捷的方法只需要吧,:替换成,即可。
mysqlconnstr = mysqlconnstr.Replace(':', ',')
或者稍微封装一下:
即可使用
builder.Services.AddDbContext<MySqlDbContext>(options =>
{
options.UseMySQL(AzureAppServiceMysqlConnectionParser.Parse(mysqlConnstr));
});
一些其他的小TIPS:
- 直接点击MySQL In App 页面上的
管理链接,可以直接打开 phpMyAdmin,在线管理MySQL数据库

- 通过
开发工具下控制台或者高级工具,在C:\home\data\mysql\MYSQLCONNSTR_localdb.txt可以获取上面连接字符串的值。
- Announcing Azure App Service MySQL in-app (preview)
- Moving your database to the “MySQL in App” option in Azure
EF Core 使用Azure App Service中的In-App MySQL服务的更多相关文章
- ASP.NET Core在Azure Kubernetes Service中的部署和管理
目录 ASP.NET Core在Azure Kubernetes Service中的部署和管理 目标 准备工作 注册 Azure 账户 AKS文档 进入Azure门户(控制台) 安装 Azure Cl ...
- 如何将Azure DevOps中的代码发布到Azure App Service中
标题:如何将Azure DevOps中的代码发布到Azure App Service中 作者:Lamond Lu 背景 最近做了几个项目一直在用Azure DevOps和Azure App Servi ...
- 【应用服务 App Service】Azure App Service 中如何安装mcrypt - PHP
问题描述 Azure App Service (应用服务)如何安装PHP的扩展 mcrypt(mcrypt 是php里面重要的加密支持扩展库) 准备条件 创建App Service, Runtime ...
- 【应用服务 App Service】在Azure App Service中使用WebSocket - PHP的问题 - 如何使用和调用
问题描述 在Azure App Service中,有对.Net,Java的WebSocket支持的示例代码,但是没有成功的PHP代码. 以下的步骤则是如何基于Azure App Service实现PH ...
- 【应用服务 App Service】当遇见某些域名在Azure App Service中无法解析的错误,可以通过设置指定DNS解析服务器来解决
问题情形 当访问部署在Azure App Service中的应用返回 "The remote name could not be resolved: ''xxxxxx.com'" ...
- 【Azure 应用服务】App Service中运行Python 编写的 Jobs,怎么来安装Python包 (pymssql)呢?
问题描述 在App Service中运行Python编写的定时任务,需要使用pymssql连接到数据库,但是发现使用 python.exe -m pip install --upgrade -r re ...
- 【Azure 应用服务】Python flask 应用部署在Aure App Service中作为一个子项目时,解决遇见的404 Not Found问题
问题描述 在成功的部署Python flask应用到App Service (Windows)后,如果需要把当前项目(如:hiflask)作为一个子项目(子站点),把web.config文件从wwwr ...
- 【Azure 云服务】如何从Azure Cloud Service中获取项目的部署文件
问题描述 在历史已经部署的云服务(Azure Cloud Service)中,如何获取到项目在很久以前的部署包文件呢? 解决办法 1)如果部署云服务是通过门户上传部署包到存储账号中,则可以直接从存储账 ...
- 【Azure 应用服务】App Service中,为Java应用配置自定义错误页面,禁用DELETE, PUT方法
问题定义 使用Azure应用服务(App Service),部署Java应用,使用Tomcat容器,如何自定义错误页面呢?同时禁用DELETE, PUT方法 解决办法 如何自定义错误页面呢?需要在 J ...
- 在Azure Cloud Service中部署Java Web App(1)
Microsoft Azure是一个开放的,灵活的云平台,除了对自家的.Net平台有良好的支持外,对于各种开源的软件,语言,工具,框架都有着良好的支持,比如Java,Php,Python等等,你可以使 ...
随机推荐
- What is the Best Python IDE for Data Science?
Created by Guido van Rossum, Python was first released back in 1991. The interpreted high-level prog ...
- 编译安装php-fpm并添加nginx支持
编译安装php-fpm 环境准备 yum -y install gcc automake autoconf libtool make install gcc gcc-c++ glibc bison b ...
- create-react-app react 使用dll抽离公共库,大幅缩减项目体积,及项目打包速度
1.安装依赖(clean-webpack-plugin.add-asset-html-webpack-plugin.webpack-cli) yarn add clean-webpack-plugin ...
- Component inside <Transition> renders non-element root node that cannot be animated
原因是transition标签下存在多个根标签 原代码: 解决方法 Suspense还处于试验阶段,可能导致default内容与fallback内容同时存在,导致错误
- n-Queens(n皇后)问题的简单回溯
package com.main; import java.util.LinkedList; public class NoQueue { public LinkedList<Node> ...
- Unity学习笔记——坐标转换(1)
1.Center与Pivot的区别 Pivot是模型坐标轴的真实位置,将辅助图标定位在网格的实际轴心点. Center是模型渲染边界的中心. 当包含子物体时,Pivaot模式辅助图标在物体的实际轴心点 ...
- AcWing 66. 两个链表的第一个公共结点 (2012算法题)
题目: 输入两个链表,找出它们的第一个公共结点. 当不存在公共节点时,返回空节点. 数据范围 链表长度 [1,2000]. 保证两个链表不完全相同,即两链表的头结点不相同. 样例 给出两个链表如下所 ...
- 狂神学习笔记domo6
1.新特性,1000000000可以写成10_0000_0000便于阅读 2.强制类型转换 先强制类型转换再赋值才能正确的结果 public class domo06 { public static ...
- How to Install VMware Tools on CentOS 6.5
yum install perl gcc make kernel-headers kernel-devel -y [root@centos6 vmware-tools-distrib]# ./vmwa ...
- k8s configmap 配置分离
ConfigMap ConfigMap用于保存配置珊数据的键值对,可以用来保存单个属性,也可以用来保存配置文件.一张图解释 上图就是整个ConfigMap的生命周期以及使用方式, ConfigMap的 ...