[Zope] database connections in a multi-Zope zeo environment

Dennis Allison allison at shasta.stanford.edu
Sun Aug 14 17:11:19 EDT 2005


I am sure this is a synaptic disconnect, but I can't seem to 
get my head around this one.  

I have remote Zopes (call them "A", "B", "C"  ) and a database
server ("D").  I also have a bunch of mysql databases.  All of the 
machines run mysql.  All the Zope instances share the same Data.fs 
connected via Zeo.

The two cases of interet are how to access a local database, that is, one 
the same machine as the running Zope, and, how to access a remote mysql 
database.

ZMYSQLDA provides a static binding to connections.

MYSQL grants access privileges based on source IP address.

So, here are my questions:

1.  When I open a database connection with the connection string

	-u dbroot -h  localhost -passwd mypassword

what machine is accessed?  I'm presuming localhost is always the local
machine.  Is that correct?

2.  How do I open a remote database connection so it works transparently 
across multiple instances of Zope?  The Zope code, shared across 
instances, uses a single connection with a connection string like

	-u dbroot -h 192.168.0.3 -passwd somepassword

Presumably each of the remote machines (and the database server if it 
runs Zope) needs an entry in the grant table.  And all the database 
connections need to share the same password.  Right?

3.  Since queries are bound to their connection, there appears to be no 
easy way to manage connections in a simple way programmatically.   

Any help/comments much appreciated.




More information about the Zope mailing list