On Wed, 6 Oct 2004 01:43:52 -0500, Keith Bachman <kcbnac at gmail.com> wrote:
> Is it possible for me to (maybe using transaction logs?  I don't know,
> haven't used mysql, just sql) replicate the data between two mysql
> servers, that aren't always able to talk to each other?

No.  Doing that in a general way would be very, very hard, if not impossible.

You could do it yourself.  Add a column to each table that tracks the
row's state.  It would have these states: none, inserted, modified and
deleted.  Where it gets tricky is if you are using auto incrementing
ID numbers.  Every time you insert, update or delete a row, set the
state column to the appropriate value.

When you are synchronizing inserted rows, you need to change the ID
numbers of those rows both in the row record and in every record that
references that row.  You might be able to do some of this
automatically if you use a database with triggers and use a program to
generate your schema.

Where you run into problems is where the same row has been modified in
both places.  How to handle this is up to your application.

I recommend using SQLite instead of MySQL.  You don't need the
multiuser performance of MySQL.  SQLite has triggers and doesn't
require a database server to be running since the SQLite library is
the database "server".

http://www.sqlite.org/

I wrote a nice program to automatically generate a database schema and
documentation.  It would be interesting to modify it to generate
synchronization triggers and see if my theory works.  Contact me off
list if you are interested.

-- 
David Phillips <david at acz.org>
http://david.acz.org/

_______________________________________________
TCLUG Mailing List - Minneapolis/St. Paul, Minnesota
Help beta test TCLUG's potential new home: http://plone.mn-linux.org
Got pictures for TCLUG? Beta test http://plone.mn-linux.org/gallery
tclug-list at mn-linux.org
https://mailman.real-time.com/mailman/listinfo/tclug-list