如何使用unix socket(mamp)代替sails js db连接的端口?

时间:2015-10-26 11:39:35

标签: mysql sails.js mamp unix-socket

编辑(已解决):

好的,感谢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服务器而不是安装新服务器。我想通过socket连接连接到db,就像我通过SequelPro一样。默认的MAMP套接字是:

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

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

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

也许我会把它写在其他地方?

1 个答案:

答案 0 :(得分:2)

尝试使用选项' 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可能会改变某些内容。

祝你有个美好的一天!