Wondering how to fix Cloud SQL Proxy error – An attempt was made to access a socket? We can help you.
Recently, one of our customers came across this error while trying to use Cloud SQL Proxy to configure access to Google Cloud SQL in Windows using the command:
cloud_sql_proxy.exe -dir=/cloudsql -instances=my-project:us-central1:sql-instance=tcp:3306 mysql -u –host
At Bobcares, we frequently receive such requests as part of our Google Cloud Platform Support services.
Today, let us see how to fix this error.
Cloud SQL Proxy error – An attempt was made to access a socket
Accessing your Cloud SQL instance using the Cloud SQL proxy offers the following advantages:
- Secure connections: The Cloud SQL proxy automatically encrypts traffic to and from the database using TLS 1.2 with a 128-bit AES cipher; SSL certificates are used to verify client and server identities.
- Easier connection management: The Cloud SQL proxy handles authentication with Cloud SQL, removing the need to provide static IP addresses.
The error message is as follows:
listen tcp 127.0.0.1:3306: bind: An attempt was made to access a socket in a way forbidden by its access permissions.
The major causes of this error are:
- The SQL Server engages the 3306 port locally. Therefore, we cannot bind to it while it is running.
- Another process might use Port 3306.
How to solve the error?
Moving ahead, let us see an effective way our Support Techs employ in order to solve this error.
- Initially, we stop the SQL Server to bind the CloudSQL Proxy to it.
In case we have Windows 10, we go to Task Manager -> Services -> MySQL57. We have to right-click and stop the task.
Once done, we try and run the same command again. Successful output will be as follows:
Listening on 127.0.0.1:3306 for <instance-name>
The same procedure is applicable to the postgresql process also.
- Specify a different port, in case another process uses 3306.
For instance,
-instances=my-project:us-central1:sql-instance=tcp:3307
- On Windows cmd or Google SDK shell, we use the below command:
cloud_sql_proxy.cmd -instances=<INSTANCE_CONNECTION_NAME>=tcp:3306 -credential_file=<PATH_TO_KEY_FILE>
Make sure to declare cloud_sql_proxy.cmd as environment variable, where:
- INSTANCE_CONNECTION_NAME = my-project:us-central1:sql-instance
- PATH_TO_KEY_FILE = create a service account in IAM panel and save the json file copy its path and paste it here.
If this does not work, we try connecting to TCP 3307.
[Failed with the resolution? We’d be happy to further assist you]
Conclusion
In short, we saw how our Support Techs resolve the Cloud SQL Proxy error in an effective way.
Perfect solution, thank you !