Excerpts from Richard de Koning's message of Thu Mar 25 15:50:45 -0300 2010:
> I've done some troubleshooting and these are my preliminary
> conclusions.
> 
> A ssh-tunnel is used to reach the remote MySQL database server that
> only runs on 127.0.0.1 (localhost).
> Commands sent to 127.0.0.1 port 3307 are forwarded to remote server on
> port 3306.
> 
> When I connect with  MySQLdb.connect and  create an normal SQL-
> statement from a Python-script it works as it should.
> sql = "INSERT INTO data (fname, lname) VALUES ('%s', '%s') " % (fname,
> lname)
> 
> So the problem must be somewhere in Sqlalchemy. Maybe it has anything
> to do with 'localhost'  somewhere in the code . When I initially ran
> the query on port 3307 the data was inserted in the local development-
> database that was running on the standard MySQL 3306 port. I'll use
> the normal SQL as a workaround, but I would prefer to do it in SA.
> 
> Is this a known issue or should I report this as a bug?
> 

I'm developing a little pylons application and I'm using a mysql
database. Like you, I'm using a ssh tunnel with port forwarding. My
connection is working ok with SqlAlchemy.

This is my connection string (I would start looking from there):
sqlalchemy.url =
mysql://user:[email protected]:63333/database

As you can see I'm using port 63333 instead of 3307 as you mentioned.

Mariano

> On Mar 25, 5:24 pm, Richard de Koning <[email protected]> wrote:
> > I'm pretty new using sqlalchemy and I will probably ask some smart and
> > a lot of silly questions.
> >
> > At the moment I'm having problems with connecting to remote MySQL
> > databases. If I run the updates on a local database everything works
> > fine.
> >
> > When I try to connect to a remote database I keep getting the
> > following errors:
> >
> >   File "/usr/lib/pymodules/python2.6/sqlalchemy/pool.py", line 142, in
> > connect
> >     return _ConnectionFairy(self).checkout()
> >   File "/usr/lib/pymodules/python2.6/sqlalchemy/pool.py", line 304, in
> > __init__
> >     rec = self._connection_record = pool.get()
> >   File "/usr/lib/pymodules/python2.6/sqlalchemy/pool.py", line 161, in
> > get
> >     return self.do_get()
> >   File "/usr/lib/pymodules/python2.6/sqlalchemy/pool.py", line 639, in
> > do_get
> >     con = self.create_connection()
> >   File "/usr/lib/pymodules/python2.6/sqlalchemy/pool.py", line 122, in
> > create_connection
> >     return _ConnectionRecord(self)
> >   File "/usr/lib/pymodules/python2.6/sqlalchemy/pool.py", line 198, in
> > __init__
> >     self.connection = self.__connect()
> >   File "/usr/lib/pymodules/python2.6/sqlalchemy/pool.py", line 261, in
> > __connect
> >     connection = self.__pool._creator()
> >   File "/usr/lib/pymodules/python2.6/sqlalchemy/engine/strategies.py",
> > line 80, in connect
> >     raise exc.DBAPIError.instance(None, None, e)
> > OperationalError: (OperationalError) (2003, "Can't connect to MySQL
> > server on 'xxx.xxx.xxx.xxx' (111)") None None
> >
> > I checked the userrights. Tried with root and installed sqlalchemy and
> > python-bindings for mysql on the server. I also tried on several
> > servers with different OS-versions, but I can't see anything wrong.
> > Manual logins with mysql-client to the servers work.
> >
> > Can anybody give any pointers how to solve this?
> 

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en.

Reply via email to