mysql - 如何将 Azure 应用服务连接到 Azure Database for MySQL 灵活服务器

标签 mysql node.js azure azure-web-app-service azure-mysql-database

我正在将 Azure 应用程序服务与灵活的 mysql 数据库服务器结合使用。我已成功将我的网站部署到 NodeJS v18.LTS,但我的服务器在我的应用程序服务日志流中抛出:SequelizeHostNotFoundError: getaddrinfo ENOTFOUND mynameserver.mysql.database.azure.com。在下面的问题中,我找到了一个可能的解决方案,将连接主机的 IP 地址添加到我的数据库实例而不是 FQDN https://stackoverflow.com/questions/25521755/errorerror-getaddrinfo-enotfound-mysql .

但是,完全不鼓励这种配置。

https://techcommunity.microsoft.com/t5/azure-database-for-postgresql/dns-configuration-patterns-for-azure-database-for-postgresql/ba-p/2560287

如何正确设置 Flexible Server for MySQL 实例以在生产应用服务环境中工作而不违反此政策?

这是我的连接实例配置:

const sequelize = new Sequelize(
process.env.DATABASE,
process.env.USER, 
process.env.MySQLPASSWORD,
{
    host: process.env.HOST, // String conection xxxx.mysql.database.azure.com
    dialect: process.env.dialect,

});

最佳答案

  • 这里我有另一种连接到 azure MySQL 灵活服务器的方法,我在其中使用了 mysql2 npm 包。

  • 现在我直接在代码中硬编码配置数据,但是您可以使用之前使用过的相同方式轻松读取应用程序设置,只需确保您首先读取相应的设置,例如:username in a变量,然后在配置与 MySQL 的连接时添加该变量。

var username = process.env.USER
  • 这里我们使用创建连接函数来连接到 MySQL 数据库,然后使用查询函数来运行查询。

以下是 Express api 的代码:

app.use('/', (req,res)=>{
    const  mysql = require('mysql2');
    const  connection = mysql.createConnection({
        host:'',
        user:'',
        database:'',
        password:'',
        port:'',
    });

    connection.query("CREATE TABLE TESTTABLE ( TEST int)",(err)=>{
        console.log(err);
    });
    
    res.send("Hello World");
});

这里我已将数据库连接到 MySQL Workbench,并在其中使用上述代码创建了表。

enter image description here

在服务器中我有 disabled the ssl mandate

关于mysql - 如何将 Azure 应用服务连接到 Azure Database for MySQL 灵活服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74966537/

相关文章:

mysql - 从函数中进行选择后,组函数的使用无效

mysql - 多个数据库或许多表?

来自子查询的 MySQL 查询不起作用

javascript - react Node 依赖安装破坏了我的 react native 应用程序

azure - 从 Github 操作工作流访问私有(private)或受防火墙保护的 Azure 容器注册表

mysql - 如何使用phpmyadmin将csv数据导入wordpress数据库?

javascript - Handlebars 表情

javascript - 如何使用 Amazon S3 listObjects 过滤 .mp3 文件

Azure B2C - 使用 PostMan 请求具有多个应用程序范围的 token

authentication - Java 中的 Bing 搜索 API Azure 市场身份验证