Python's sqlalchemy on Google CLoud SQL
up vote
0
down vote
favorite
I'm attempting to connect to a Google Cloud SQL instance with sqlalchemy
in order to use the Pandas to_sql
function. My instance has an internal IP Address.
I got the following to work:
import MySQLdb
def get_con():
return MySQLdb.connect(host='<IP Address>', user='root')
However when I use sqlalchemy:
import sqlalchemy
def get_con():
s = 'mysql://root@<IP Address>'
engine = sqlalchemy.create_engine(s)
return engine.connect()
I get the following error:
_mysql_exceptions.OperationalError: (2002, 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2 "No such file or directory")')
python sqlalchemy google-cloud-platform
add a comment |
up vote
0
down vote
favorite
I'm attempting to connect to a Google Cloud SQL instance with sqlalchemy
in order to use the Pandas to_sql
function. My instance has an internal IP Address.
I got the following to work:
import MySQLdb
def get_con():
return MySQLdb.connect(host='<IP Address>', user='root')
However when I use sqlalchemy:
import sqlalchemy
def get_con():
s = 'mysql://root@<IP Address>'
engine = sqlalchemy.create_engine(s)
return engine.connect()
I get the following error:
_mysql_exceptions.OperationalError: (2002, 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2 "No such file or directory")')
python sqlalchemy google-cloud-platform
A few ideas of what might be going wrong: stackoverflow.com/questions/5376427/…
– arudzinska
Nov 9 at 9:38
This is a reference to running MySQL locally. I’m running it remotely on Cloud SQL!
– James Pinkerton
Nov 9 at 15:37
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
I'm attempting to connect to a Google Cloud SQL instance with sqlalchemy
in order to use the Pandas to_sql
function. My instance has an internal IP Address.
I got the following to work:
import MySQLdb
def get_con():
return MySQLdb.connect(host='<IP Address>', user='root')
However when I use sqlalchemy:
import sqlalchemy
def get_con():
s = 'mysql://root@<IP Address>'
engine = sqlalchemy.create_engine(s)
return engine.connect()
I get the following error:
_mysql_exceptions.OperationalError: (2002, 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2 "No such file or directory")')
python sqlalchemy google-cloud-platform
I'm attempting to connect to a Google Cloud SQL instance with sqlalchemy
in order to use the Pandas to_sql
function. My instance has an internal IP Address.
I got the following to work:
import MySQLdb
def get_con():
return MySQLdb.connect(host='<IP Address>', user='root')
However when I use sqlalchemy:
import sqlalchemy
def get_con():
s = 'mysql://root@<IP Address>'
engine = sqlalchemy.create_engine(s)
return engine.connect()
I get the following error:
_mysql_exceptions.OperationalError: (2002, 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2 "No such file or directory")')
python sqlalchemy google-cloud-platform
python sqlalchemy google-cloud-platform
edited Nov 12 at 12:22
asked Nov 9 at 8:19
James Pinkerton
6819
6819
A few ideas of what might be going wrong: stackoverflow.com/questions/5376427/…
– arudzinska
Nov 9 at 9:38
This is a reference to running MySQL locally. I’m running it remotely on Cloud SQL!
– James Pinkerton
Nov 9 at 15:37
add a comment |
A few ideas of what might be going wrong: stackoverflow.com/questions/5376427/…
– arudzinska
Nov 9 at 9:38
This is a reference to running MySQL locally. I’m running it remotely on Cloud SQL!
– James Pinkerton
Nov 9 at 15:37
A few ideas of what might be going wrong: stackoverflow.com/questions/5376427/…
– arudzinska
Nov 9 at 9:38
A few ideas of what might be going wrong: stackoverflow.com/questions/5376427/…
– arudzinska
Nov 9 at 9:38
This is a reference to running MySQL locally. I’m running it remotely on Cloud SQL!
– James Pinkerton
Nov 9 at 15:37
This is a reference to running MySQL locally. I’m running it remotely on Cloud SQL!
– James Pinkerton
Nov 9 at 15:37
add a comment |
1 Answer
1
active
oldest
votes
up vote
1
down vote
accepted
You didn't say what MySQL driver you're using, but I'd guess it's mysql-python
which hasn't been updated in four years. I'd recommend using a different driver.
I tried this using mysql-connector-python
and this works as expected:
import sqlalchemy
s = "mysql+mysqlconnector://root@<IP Address>/<DB Name>"
engine = sqlalchemy.create_engine(s)
engine.connect()
Same with PyMySQL
import sqlalchemy
s = "mysql+pymysql://root@<IP Address>/<DB Name>"
engine = sqlalchemy.create_engine(s)
engine.connect()
Also make sure you're specifying the database name here, it's missing from your example.
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
1
down vote
accepted
You didn't say what MySQL driver you're using, but I'd guess it's mysql-python
which hasn't been updated in four years. I'd recommend using a different driver.
I tried this using mysql-connector-python
and this works as expected:
import sqlalchemy
s = "mysql+mysqlconnector://root@<IP Address>/<DB Name>"
engine = sqlalchemy.create_engine(s)
engine.connect()
Same with PyMySQL
import sqlalchemy
s = "mysql+pymysql://root@<IP Address>/<DB Name>"
engine = sqlalchemy.create_engine(s)
engine.connect()
Also make sure you're specifying the database name here, it's missing from your example.
add a comment |
up vote
1
down vote
accepted
You didn't say what MySQL driver you're using, but I'd guess it's mysql-python
which hasn't been updated in four years. I'd recommend using a different driver.
I tried this using mysql-connector-python
and this works as expected:
import sqlalchemy
s = "mysql+mysqlconnector://root@<IP Address>/<DB Name>"
engine = sqlalchemy.create_engine(s)
engine.connect()
Same with PyMySQL
import sqlalchemy
s = "mysql+pymysql://root@<IP Address>/<DB Name>"
engine = sqlalchemy.create_engine(s)
engine.connect()
Also make sure you're specifying the database name here, it's missing from your example.
add a comment |
up vote
1
down vote
accepted
up vote
1
down vote
accepted
You didn't say what MySQL driver you're using, but I'd guess it's mysql-python
which hasn't been updated in four years. I'd recommend using a different driver.
I tried this using mysql-connector-python
and this works as expected:
import sqlalchemy
s = "mysql+mysqlconnector://root@<IP Address>/<DB Name>"
engine = sqlalchemy.create_engine(s)
engine.connect()
Same with PyMySQL
import sqlalchemy
s = "mysql+pymysql://root@<IP Address>/<DB Name>"
engine = sqlalchemy.create_engine(s)
engine.connect()
Also make sure you're specifying the database name here, it's missing from your example.
You didn't say what MySQL driver you're using, but I'd guess it's mysql-python
which hasn't been updated in four years. I'd recommend using a different driver.
I tried this using mysql-connector-python
and this works as expected:
import sqlalchemy
s = "mysql+mysqlconnector://root@<IP Address>/<DB Name>"
engine = sqlalchemy.create_engine(s)
engine.connect()
Same with PyMySQL
import sqlalchemy
s = "mysql+pymysql://root@<IP Address>/<DB Name>"
engine = sqlalchemy.create_engine(s)
engine.connect()
Also make sure you're specifying the database name here, it's missing from your example.
answered Nov 11 at 20:48
Dustin Ingram
2,6991125
2,6991125
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53222061%2fpythons-sqlalchemy-on-google-cloud-sql%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
A few ideas of what might be going wrong: stackoverflow.com/questions/5376427/…
– arudzinska
Nov 9 at 9:38
This is a reference to running MySQL locally. I’m running it remotely on Cloud SQL!
– James Pinkerton
Nov 9 at 15:37