这是我用于连接到数据库的PHP的代码,MySQL的云SQL实例:
define('DB_SERVER', '192.0.0.1');
define('DB_USERNAME', 'username');
define('DB_PASSWORD', 'password');
define('DB_NAME', 'db');
$db = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAME) or die(mysqli_connect_error());
显然, DB_SERVER
不是实际的IP地址,也不是凭据,但是我确实放了一个假地址,看我是否需要像Java一样添加cloudsql:/
或jdbc://
之类的内容。
我确实授权云SQL上的Web服务器的IP地址,但是它返回的只是Connection Timed Out
错误。我该怎么办?
我敢肯定,凭据是正确的,并且可以从其他授权的IP地址连接,因为我能够从另一个帐户访问&通过MySQL Workbench多个IP地址。
已解决:
对于使用Siteground服务的任何人,如果您使用公共IP授权,请确保将0.0.0.0/0作为接受的IP地址。然后,通过在页面刷新后立即运行此此功能时,查找IP连接的内容:
SELECT host FROM information_schema.processlist WHERE ID=connection_id();
它应该为您提供多个IP,并使用IP定位器在线检查它们,以查看它们是否匹配Siteground服务的位置。删除0.0.0.0/0,然后将IP地址添加到Google Cloud SQL。