如何使用 unix 套接字(mamp)而不是用于 sails js db 连接的端口?

How to use a unix socket (mamp) instead of a port for sails js db connection?

编辑(已解决):

好的,感谢 Andrea,问题已经解决。奇怪的是,这两种语法似乎都有效:

/* 
  - adapter, not module 
  - host
  - port as socket
*/
connections:{
  local_mysql:{
    adapter: 'sails-mysql', 
    host: 'localhost',
    user: 'root',
    password: 'root',
    port: '/Applications/MAMP/tmp/mysql/mysql.sock', /* socket path as a port */
    database: 'sailstest1'
  }
}

--

/* 
  - module instead of adapter, but you can use both names
  - socketPath instead of port
  - no need for host
*/
connections:{
  local_mysql:{
    module: 'sails-mysql',
    user: 'root',
    password: 'root',
    database: 'sailstest1',
    socketPath: '/Applications/MAMP/tmp/mysql/mysql.sock'
  }
}

就我而言,两者都是用 config/local.js

编写的

我正在玩 Sailsjs。现在,我想使用 MAMP mysql 服务器而不是安装新服务器。我只想通过套接字连接到数据库,就像我通过 SequelPro 所做的那样。默认的 MAMP 套接字是这样的:

/Applications/MAMP/tmp/mysql/mysql.sock

但是我应该在哪里告诉 sails 使用它呢?标准文档仅显示标准连接方式:

  someMysqlServer: {
    adapter: 'sails-mysql',
    host: 'YOUR_MYSQL_SERVER_HOSTNAME_OR_IP_ADDRESS',
    user: 'YOUR_MYSQL_USER',
    password: 'YOUR_MYSQL_PASSWORD',
    database: 'YOUR_MYSQL_DB'
  },

也许我应该把它写在别的地方?

试试选项 'socketPath'

  someMysqlServer: {
        module: 'sails-mysql',
        user: 'YOUR_MYSQL_USER',
        password: 'YOUR_MYSQL_PASSWORD',
        database: 'YOUR_MYSQL_DB',
        socketPath: 'YOUR_SOCKET_PATH'
    }

我在这个问题上找到了一些参考资料: https://github.com/balderdashy/sails-mysql/issues/31

也许使用 module 而不是 adapter 会有所改变。

祝你有美好的一天!