我有一个新的drupal站点在负载均衡器后面运行。我设置了一个主从数据库,另一个从web目录同步文件。
对于远程从服务器,我为数据库主机设置了ENV vars,这是保存数据库的主从服务器的内部IP。这可以很好地工作,因为主服务器也有这个,它的ENV var是'localhost‘
现在,当访问站点时,被放在主从服务器上工作得很好。但在访问远程从站时,我从Drupal得到了数据库错误:
PDOException: SQLSTATE[HY000] [2002] Can't connect to local MySQL
server through socket '/var/lib/mysql/mysql.sock' (2) in
lock_may_be_available() (line 167 of /var/www/html/includes/lock.inc).我已经为远程从机器运行了常规的GRANT命令,并且我可以使用以下命令通过SSH从从机器进行连接
mysql -u root -p -h master.slave.internal.ip所以据我所知,这不是防火墙或mysql权限问题,我被难住了!
大杯啤酒要来了,我还在挠头呢。
发布于 2015-12-08 23:35:26
如果您需要连接到不同服务器上的数据库,那么您的Drupal配置看起来是错误的。错误消息说它不能连接到“本地MySQL服务器”,而不是它不能连接到“服务器上的MySQL”。查看settings.php并确保数据库ip地址/主机名正确。
https://stackoverflow.com/questions/34137002
复制相似问题