I've created one but the complexity of it is nearly overkill for just synchronizing users.
A simple option (passed my basic proof of concept test) would be using MySQL's new view functionality instead. Absolutely backup first.
For every shared table (user, usergroup, userfield, access, etc.) you would need to drop the original table, and then recreate it as a view:
Code:
CREATE VIEW user as
SELECT * FROM source_db.user;
MySQL properly optimizes away the view since it's a simple view.
So, automatically, when vBulletin performs queries on any of these "view" tables, MySQL will simply replace the database/table names so it directly touches the other database.
Pros
Easy to maintain
Should be very fast
Cons
Limited to same physical server
More risk (6 sites dependent on one)
Not stress tested -- Possible complications... ?
I know this is a bit old but how did the views option go?
I would very much like to test this so any idea what the source_db syntax would be for the user table located in a separate db on the same server?