强制php使用tcp而不是套接字,而不将mysql主机从localhost更改为127.0.0.1
有没有办法强迫php在不将主机参数从“localhost”更改为“127.0.0.1”的情况下,对本地mysql连接使用TCP连接而不是套接字文件 情景: 到目前为止,Apache/php和MySQL都在同一台服务器上。但出于性能和高可用性的原因,我计划将MySQL重新定位到另一台服务器。新服务器将复制到故障转移服务器。在Apache/php服务器上,我想使用haProxy(tcp)进行连接处理。强制php使用tcp而不是套接字,而不将mysql主机从localhost更改为127.0.0.1,php,mysql,Php,Mysql,有没有办法强迫php在不将主机参数从“localhost”更改为“127.0.0.1”的情况下,对本地mysql连接使用TCP连接而不是套接字文件 情景: 到目前为止,Apache/php和MySQL都在同一台服务器上。但出于性能和高可用性的原因,我计划将MySQL重新定位到另一台服务器。新服务器将复制到故障转移服务器。在Apache/php服务器上,我想使用haProxy(tcp)进行连接处理。 出于数据保护的原因,我无法将主机参数从“localhost”更改为“127.0.0.1” 解决方法
出于数据保护的原因,我无法将主机参数从“localhost”更改为“127.0.0.1” 解决方法: 我找到的唯一解决方案是使用socat解决问题:
socat UNIX-LISTEN:/path/to/mysql.sock,fork,user=mysql,group=mysql,mode=777 TCP:127.0.0.1:3306 2> /dev/null &"
还有其他方法吗?为什么不使用新服务器的主机名?如果使用IP地址,为什么数据保护会有风险?可能是用于盐析哈希。我无法更改主机参数,因为这涉及客户数据。出于同样的原因,我不能使用新服务器的主机名。此外,我想使用haProxy进行ha故障切换。您的想法非常难以捉摸,但我猜@EJTH是对的,您正在使用MySQL主机名编写加密密钥,可能在某些第三方CMS中,更改算法并不容易。如果
socat
对您有效,我会说这没关系,但是这个问题在这里是非常离题的,因为您对代码解决方案不感兴趣,您可能会在这里得到更好的解决方案。