Ошибка «Отказано в соединении» возникает, когда приложение пытается установить соединение TCP, но служба не прослушивает целевой адрес и порт или брандмауэр отклоняет соединение.
Сначала убедитесь, что вы подключаетесьна правом порту.Запустите sudo netstat -lntp
и найдите cloud_sql_proxy.Например, вы могли бы видеть
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 71313/cloud_sql_pro
, указывающий, что облако sql прослушивает порт 3306. Если вы видели это, вам следует изменить порт в вашем инструменте на 3306.
Если netstat
делаетне показывать любую cloud_sql_proxy
строку, то он не прослушивает TCP.Хотя TCP не всегда нужен для MySQL, похоже, инструмент, который вы используете, нуждается в нем.Убедитесь, что вы запускаете cloud_sql_proxy с -instances=<INSTANCE_CONNECTION_NAME>=tcp:3306
Во-вторых, давайте удостоверимся, что вы подключаетесь по правильному адресу.Это должно быть localhost
без :/cloudsql/project-name:region:sql-instance-name
после.
Если после этих двух оно все еще не работает, используйте sudo iptables -L
для поиска правил брандмауэра, блокирующих трафик.Однако вряд ли у вас есть брандмауэр, останавливающий локальный трафик.