我使用定义为localhost:/some/path/ms.sock
的服务器连接到mysql数据库,任何人都可以解释这是如何工作的?它肯定是一条路径,因为localhost:/some/../some/path/ms.sock
也起作用,但当我从php运行这个exec
时
mysqldump -h localhost:/some/path/ms.sock -u xxx -pxxx xxx
它写Error: 2005: Unknown MySQL server host 'localhost:/some/path/ms.sock'
PHP脚本在同一目录中。但是这很好用:
new mysqli("localhost:/some/path/ms.sock", "xxx", "xxx", "xxx");
答案 0 :(得分:1)
/some/path/ms.sock
引用Unix domain socket到PHP将connect to MySQL(这是MySQL支持的三个connection protocols之一,除了通常的TCP / IP之外)。
必须使用--socket
(或mysql*
)选项向-S
客户提供此路径:
mysqldump -h localhost -S /some/path/ms.sock -u ...