首页  >  问答  >  正文

遭遇了配置MYSQL和node.js的困扰

<p><br /></p> <pre class="brush:php;toolbar:false;">const Sequelize = require("sequelize"); require("dotenv").config(); const sequelize = new Sequelize( process.env.DB_NAME, process.env.DB_USER, process.env.DB_PASSWORD, { host: "localhost", dialect: "mysql", port: 3306, dialectOptions: { socketPath: "/tmp/mysql.sock", }, } ); module.exports = sequelize;</pre> <p>我在一个编程训练营里,我们正在进行一个小组项目,我遇到了一个错误</p> <p><code>connect ENOENT /tmp/mysql.sock</code></p> <p>我的讲师告诉我们这段代码是给Mac用户用的,而我在使用Windows。 有没有办法写一个条件语句,如果在Windows上运行时忽略这段代码,而在Mac上运行时运行它? 我在网上搜索了一下,没有找到什么结果。所以我只能在本地将它注释掉,虽然这样可以工作,但肯定有更好的方法吧。</p><p><br /></p>
P粉489081732P粉489081732431 天前376

全部回复(1)我来回复

  • P粉190883225

    P粉1908832252023-08-16 00:30:11

    通常,人们解决这个问题的方式是,如果代码需要在多个环境(如Mac、Windows或托管提供商)上运行,他们不会将MySQL连接设置添加到代码中,而是将其添加到配置文件中。所以,将其作为你的.env配置的一部分。

    话虽如此,你也可以在Mac上连接MySQL而不使用Unix套接字。

    回复
    0
  • 取消回复