当我尝试通过 PHP 脚本与 Google Cloud SQL 数据库实例建立简单连接时,不断收到以下错误。
“读取初始通信包”时与 MySQL 服务器失去连接,系统错误:0(2013)
和
Warning: mysqli_connect(): (HY000/2002): Connection timed out in .../users_log_in_db_connect.php on line 18
我知道以下错误可能已经被涉及,但尝试了下面相关文章中的大多数建议后,我仍然无法解决它们:
链接 2
例如,当我将服务器设置为 localhost 或 127.0.0.1 时,出现以下错误:
DB connection failed: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)(2002)
对于登录详细信息,我使用的服务器值是 Google Developers Console 中提供的实例 IP 地址。
这些错误让我抓狂,我知道我错过了一件非常简单的事情。我哪里做错了?
我非常感谢任何建议。
答案1
发生这种情况是因为您连接的 IP 在控制台中未获得授权,如文档中所述:
如果 Google Cloud SQL 拒绝连接,例如因为您的客户端连接的 IP 地址未经授权,您收到的错误将是:ERROR 2013 (HY000):在“读取初始通信包”时与 MySQL 服务器失去连接,系统错误:0
请参阅下文“配置 IP 连接的访问控制”部分页: