Ich habe das jetzt mal so gebaut und bis jetzt funktioniert es reibungslos. 
Falls es noch mal jemanden gibt, der ein ähnliches Problem hat, habe ich hier 
mal dokumentiert, was ich im Detail gemacht habe:
Die Seite läuft auf einem Debian Server mit PHP 5.6.13 und MariaDB Server 10.0
Beide Seiten laufen auf demselben Server. User1 muss insert, delete und Update 
Rechte für DB2.fe_users haben, User2 braucht diese Rechte für DB1.fe_users.
Das Einrichten der Trigger habe ich als root user gemacht, da die "normalen" 
DB-User dafür keine Berechtigung haben.
Wie von Veletti schon beschrieben benötigt man drei Trigger pro Datenbank, die 
jeweils after insert, after update und after delete die Tabelle fe_users der 
anderen DB aktualisiert.
Da diese Trigger in den fe_user-Tabellen beide Datenbanken angelegt werden muss 
sichergestellt werden, dass nach dem Update via Trigger nicht wiederum der 
Trigger der Zieldatenbank ausgelöst wir, das würde eine Fehlermeldung geben, 
daher habe ich (stackoverflow sei Dank!) vor jedem Trigger eine kleine 
IF-Abfrage eingebaut, die das verhindert.

Hier mal exemplarisch die drei Trigger für DB1 für DB2 müssen die 
Datenbanknamen natürlich angepasst werden (vielleicht nicht schön, aber selten 
- und es funktioniert):
#after_insert_datenbank1_fe_users:
CREATE TRIGGER `after_insert_datenbank1_fe_users` AFTER INSERT ON `fe_users`
FOR EACH ROW IF @__disable_trigger_after_insert = 1 THEN
SET @__disable_trigger_after_insert = NULL;
ELSE
SET @__disable_trigger_after_insert = 1;
        INSERT INTO datenbank2.fe_users 
(tx_extbase_type,uid,pid,tstamp,username,password,usergroup,disable,starttime,endtime,name,first_name,middle_name,last_name,address,telephone,fax,email,crdate,cruser_id,lockToDomain,deleted,uc,title,zip,city,country,www,company,image,TSconfig,fe_cruser_id,lastlogin,is_online,felogin_redirectPid,felogin_forgotHash,static_info_country,zone,language,gender,cnum,status,house_no,date_of_birth,comments,by_invitation,module_sys_dmail_html,terms_acknowledged,token,tx_srfeuserregister_password,tx_dlfeuserextend_newsletter,module_sys_dmail_newsletter,module_sys_dmail_category,tx_dlfeuserdataprivacy_dataprivacy,tx_dlfeuserfelang_felanguage)
 VALUES 
(NEW.tx_extbase_type,NEW.uid,NEW.pid,NEW.tstamp,NEW.username,NEW.password,NEW.usergroup,NEW.disable,NEW.starttime,NEW.endtime,NEW.name,NEW.first_name,NEW.middle_name,NEW.last_name,NEW.address,NEW.telephone,NEW.fax,NEW.email,NEW.crdate,NEW.cruser_id,NEW.lockToDomain,NEW.deleted,NEW.uc,NEW.title,NEW.zip,NEW.city,NEW.country,NEW.www,NEW.company,NEW.image,NEW.TSconfig,NEW.fe_cruser_id,NEW.lastlogin,NEW.is_online,NEW.felogin_redirectPid,NEW.felogin_forgotHash,NEW.static_info_country,NEW.zone,NEW.language,NEW.gender,NEW.cnum,NEW.status,NEW.house_no,NEW.date_of_birth,NEW.comments,NEW.by_invitation,NEW.module_sys_dmail_html,NEW.terms_acknowledged,NEW.token,NEW.tx_srfeuserregister_password,NEW.tx_dlfeuserextend_newsletter,NEW.module_sys_dmail_newsletter,NEW.module_sys_dmail_category,NEW.tx_dlfeuserdataprivacy_dataprivacy,NEW.tx_dlfeuserfelang_felanguage);
END IF

#after_update_datenbank1_fe_users:
CREATE TRIGGER `after_update_datenbank1_fe_users` AFTER UPDATE ON `fe_users`
FOR EACH ROW IF @__disable_trigger_after_update = 1 THEN
SET @__disable_trigger_after_update = NULL;
ELSE
SET @__disable_trigger_after_update = 1;
UPDATE datenbank2.fe_users SET tx_extbase_type = NEW.tx_extbase_type,pid = 
NEW.pid,tstamp = NEW.tstamp,username = NEW.username,password = 
NEW.password,usergroup = NEW.usergroup,disable = NEW.disable,starttime = 
NEW.starttime,endtime = NEW.endtime,name = NEW.name,first_name = 
NEW.first_name,middle_name = NEW.middle_name,last_name = NEW.last_name,address 
= NEW.address,telephone = NEW.telephone,fax = NEW.fax,email = NEW.email,crdate 
= NEW.crdate,cruser_id = NEW.cruser_id,lockToDomain = NEW.lockToDomain,deleted 
= NEW.deleted,uc = NEW.uc,title = NEW.title,zip = NEW.zip,city = 
NEW.city,country = NEW.country,www = NEW.www,company = NEW.company,image = 
NEW.image,TSconfig = NEW.TSconfig,fe_cruser_id = NEW.fe_cruser_id,lastlogin = 
NEW.lastlogin,is_online = NEW.is_online,felogin_redirectPid = 
NEW.felogin_redirectPid,felogin_forgotHash = 
NEW.felogin_forgotHash,static_info_country = NEW.static_info_country,zone = 
NEW.zone,language = NEW.language,gender = NEW.gender,cnum = NEW.cnum,status = 
NEW.status,house_no = NEW.house_no,date_of_birth = NEW.date_of_birth,comments = 
NEW.comments,by_invitation = NEW.by_invitation,module_sys_dmail_html = 
NEW.module_sys_dmail_html,terms_acknowledged = NEW.terms_acknowledged,token = 
NEW.token,tx_srfeuserregister_password = 
NEW.tx_srfeuserregister_password,tx_dlfeuserextend_newsletter = 
NEW.tx_dlfeuserextend_newsletter,module_sys_dmail_newsletter = 
NEW.module_sys_dmail_newsletter,module_sys_dmail_category = 
NEW.module_sys_dmail_category,tx_dlfeuserdataprivacy_dataprivacy = 
NEW.tx_dlfeuserdataprivacy_dataprivacy,tx_dlfeuserfelang_felanguage = 
NEW.tx_dlfeuserfelang_felanguage WHERE uid = NEW.uid;
END IF

#after_delete_datenbank1_fe_users:
CREATE TRIGGER `after_delete_datenbank1_fe_users` AFTER DELETE ON `fe_users`
FOR EACH ROW IF @__disable_trigger_after_delete = 1 THEN
SET @__disable_trigger_after_delete = NULL;
ELSE
SET @__disable_trigger_after_delete = 1;
DELETE from datenbank2.fe_users WHERE uid = OLD.uid;
END IF

Ich hoffe, das hilft noch jemandem, Anregungen und Verbesserungsvorschläge sind 
immer willkommen.
_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Antwort per Email an