ejabberd: рдорд╛рдиреЗрд╕рд┐рдпрд╛ рд╕реЗ mysql рдХреА рдУрд░ рдкрд▓рд╛рдпрди

рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ xmpp ejabberd рд╕рд░реНрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рдореИрдВ рдкреНрд░рд▓реЗрдЦрди рдХреА рдЕрддреНрдпрдзрд┐рдХ рдХрдореА рджреЗрдЦрддрд╛ рд╣реВрдВред рдкреНрд░рддреНрдпреЗрдХ рдЬреЛ рдорд╛рдирдХ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рд╕реЗ рдереЛрдбрд╝рд╛ рд╡рд┐рдЪрд▓рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдЙрд╕реЗ рд╕реНрд╡рдпрдВ рджреНрд╡рд╛рд░рд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдпрд╛ рд╕рдореНрдореЗрд▓рдиреЛрдВ, рдореЗрд▓рд┐рдВрдЧ рд╕реВрдЪрд┐рдпреЛрдВ, svn рдореЗрдВ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдФрд░ рд╕реАрдзреЗ рд╕реНрд░реЛрдд рдХреЛрдб рд╕реЗ рдЯреБрдХрдбрд╝реЛрдВ рдореЗрдВ рдПрдХрддреНрд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

Ejabberd 2.1.11 рдХреА рд░рд┐рд▓реАрдЬрд╝ рдХреЗ рд╕рд╛рде, рдЬрд┐рд╕рдореЗрдВ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рдирдП рдореЙрдбреНрдпреВрд▓ рдореЗрдВ ODBC рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ , рдореИрдВ рдЕрдкрдиреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдирд┐рдпрдорд┐рдд mnesia рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдбреЗрдЯрд╛ рдХреЛ рдЕрдзрд┐рдХ рдЙрдкрдпреБрдХреНрдд mysql рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛ред рдПрдХ рдмрд╛рд░ рдЬрдм рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕реЗ рдЕрдиреНрдп рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рд╣рд▓ рдХрд░ рд▓рд┐рдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдХреЗрд╡рд▓ рдпрд╣ рдпрд╛рдж рд░рдЦрдирд╛ рд╣реИ рдХрд┐ рдХреИрд╕реЗред рдЕрдм рдореИрдВ рдЕрдкрдиреЗ рдФрд░ рдЙрди рд╕рднреА рдХреЗ рднрд╡рд┐рд╖реНрдп рдХреЗ рд▓рд┐рдП рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╡рд╛рдкрд╕ рдмреБрд▓рд╛рдиреЗ рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛, рдЬреЛ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВред



рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ 2.1.11 ebuberd рд╣реИ рдЬреЛ рдЕрдкрдиреЗ рдорд╛рдирдХ mnesia рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рднрдВрдбрд╛рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЖрдк рдХреБрдЫ рднреА рд╣рд▓ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЖрдк mysql рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рдПрдБред рд╣рдо рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рдВрд░рдЪрдирд╛ рд▓реЗрддреЗ рд╣реИрдВ рдпрд╛ рд╕реНрд░реЛрдд рдкреИрдХреЗрдЬ рдореЗрдВ /src/odbc/mysql.sql рдлрд╝рд╛рдЗрд▓ рдореЗрдВред

рдЙрд╕рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдорд╛рдиреЗрд╕рд┐рдпрд╛ рд╕реЗ рдбреЗрдЯрд╛ рдирд┐рд░реНрдпрд╛рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╣рдореЗрдВ mod_admin_extra рдореЙрдбреНрдпреВрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдЬреЛ рдХрд┐ ejabberd- рдореЙрдбреНрдпреВрд▓ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред

рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд░рд╣рд╛ рд╣реИ:
svn co svn.process-one.net/ejabberd-modules

рдЪреВрдВрдХрд┐ mod_admin_extra рдХреЛ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╡рд╣ рдирдП рдореЙрдбреНрдпреВрд▓ рдФрд░ рдЗрд╕рд▓рд┐рдП рдирдИ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рд╣реИред рдореИрдВрдиреЗ рд╕рд╡рд╛рд▓ рдХреЛ рдЕрдирд╛рдбрд╝реА рддрд░реАрдХреЗ рд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛: рдореИрдВрдиреЗ рд╕реНрд░реЛрдд ejabberd-рдореЙрдбреНрдпреВрд▓ / mod_admin_extra / trunk / src / mod_admin_extra.erl рдФрд░ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рдЦреЛрд▓рд╛
 
               {Export_last, рдЕрдВрддрд┐рдо},
               {Export_offline, рдСрдлрд╝рд▓рд╛рдЗрди},
               {Export_passwd, passwd},
               {Export_pStreet_storage, private_storage},
               {Export_roster, рд░реЛрд╕реНрдЯрд░},
               {Export_vcard, vcard},
               {Export_vcard_search, vcard_search}], 


рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛

               {Export_last, рдЕрдВрддрд┐рдо},
               {Export_offline, рдСрдлрд╝рд▓рд╛рдЗрди},
               {Export_passwd, passwd},
               {Export_pStreet_storage, private_storage},
               {Export_roster, рд░реЛрд╕реНрдЯрд░},
               {Export_vcard, vcard},
                 {Export_motd, motd},
                 {Export_motd_users, motd_users},
                 {Export_muc_registered, muc_registered},
                 {Export_muc_room, muc_room},
                 {Export_sr_group, sr_group},
                 {Export_sr_user, sr_user},
               {Export_vcard_search, vcard_search}], 


рдиреЛрдЯ: рдореИрдВ irc рдкрд░рд┐рд╡рд╣рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЧрд░реНрдо рдЯреНрдпреВрдм irc рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ, рдФрд░ рдореЗрд░рд╛ mod_irc рдмрдВрдж рд╣реИред рдпрджрд┐ рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рд╕рдВрднрд╡рддрдГ рд╕реВрдЪреА рдореЗрдВ '{export_irc, irc}', рдЬреИрд╕реЗ рдХреБрдЫ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЖрдк рдареАрдХ рд╕реЗ рдкрддрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ ls /var/spool/jabber/*.DCD рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд░реВрдк рдореЗрдВ mnesia рдореЗрдВ рддрд╛рд▓рд┐рдХрд╛ рдирд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣рд╛ рд╣реИред

рдирд┐рд░реНрдорд╛рдг (erlang рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛):

cd ejabberd-modules/mod_admin_extra/trunk
./build.sh


рдиреЛрдЯ : рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдирд┐рд░реНрджреЗрд╢ рдЗрдЬрд╝рдмрд░реНрдб-рдореЙрдбреНрдпреВрд▓ рд╣реЛрдордкреЗрдЬ рдкрд░ рдкрд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдЗрд╕реА рддрд░рд╣, рд╣рдо ejabberd- рдореЙрдбреНрдпреВрд▓ / mysql рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╣реИрдВ ред

рд╣рдо рдкрд░рд┐рдгрд╛рдореА ejabberd- рдореЙрдбреНрдпреВрд▓ / mod_admin_extra / trunk / ebin / mod_admin_extra.beam рдФрд░ ejabberd-рдореЙрдбреНрдпреВрд▓ / mysql / trunk / ebin / * рдХреЛ рдлреЗрдВрдХ рджреЗрддреЗ рд╣реИрдВред eebberd рд╕реНрдерд╛рдкрдирд╛ рдореЗрдВ рдмреАрдо (рдореЗрд░реЗ рдкрд╛рд╕ рдпрд╣ /usr/lib/erlang/lib/lib/lib/lib/lib рд╣реИ .11 / рдИрдмреАрди / )ред

рд╣рдордиреЗ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдФрд░ рдкреБрдирдГ рдЖрд░рдВрдн рдХреЗ рд▓рд┐рдП рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рдИрдЬрд╝рдмрд░реНрдб рд╕рд░реНрд╡рд░ рдХреЛ рдХрд╛рдЯ рджрд┐рдпрд╛ (рд▓реЗрдХрд┐рди рд░реЛрдХ рдирд╣реАрдВ!)ред

рд╣рдо ejabberd рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдЦрдиреЗ рдпреЛрдЧреНрдп рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рддреЗ рд╣реИрдВ (рдореЗрд░реЗ рдкрд╛рд╕ jabber: jabber рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рд╕рд┐рд░реНрдл mkdir / tmp / temp; chmod 777 / tmp / temp) рдмрдирд╛рдпрд╛ рд╣реИред

рд╣рдо mnesia рд╕реЗ рдбреЗрдЯрд╛ рдирд┐рд░реНрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВ ( - jabber-):
ejabberdctl export2odbc /tmp/test/
txt sql-, mysql. ( phpMyAdmin). , - .
- mnesia, . , - 14 .

, .

, !

ejabberd mysql. ( ) .

,
{auth_method, odbc}

{odbc_server, {mysql, "host", "db", "user", "pass"}}.
,
{host_config, "domain2", [{odbc_server, {mysql, "host2", "db2", "user2", "pass2"}}]}.

, XXX->XXX_odbc, :
mod_announce_odbc
mod_blocking_odbc
mod_last_odbc
mod_muc_odbc
mod_offline_odbc
mod_privacy_odbc
mod_private_odbc
mod_pubsub_odbc
mod_roster_odbc
mod_shared_roster
mod_vcard_odbc
mod_vcard_xupdate_odbc



, , 2009 , , - . . , , .
- jabber-):
ejabberdctl export2odbc /tmp/test/
txt sql-, mysql. ( phpMyAdmin). , - .
- mnesia, . , - 14 .

, .

, !

ejabberd mysql. ( ) .

,
{auth_method, odbc}

{odbc_server, {mysql, "host", "db", "user", "pass"}}.
,
{host_config, "domain2", [{odbc_server, {mysql, "host2", "db2", "user2", "pass2"}}]}.

, XXX->XXX_odbc, :
mod_announce_odbc
mod_blocking_odbc
mod_last_odbc
mod_muc_odbc
mod_offline_odbc
mod_privacy_odbc
mod_private_odbc
mod_pubsub_odbc
mod_roster_odbc
mod_shared_roster
mod_vcard_odbc
mod_vcard_xupdate_odbc



, , 2009 , , - . . , , .

- jabber-):
ejabberdctl export2odbc /tmp/test/
txt sql-, mysql. ( phpMyAdmin). , - .
- mnesia, . , - 14 .

, .

, !

ejabberd mysql. ( ) .

,
{auth_method, odbc}

{odbc_server, {mysql, "host", "db", "user", "pass"}}.
,
{host_config, "domain2", [{odbc_server, {mysql, "host2", "db2", "user2", "pass2"}}]}.

, XXX->XXX_odbc, :
mod_announce_odbc
mod_blocking_odbc
mod_last_odbc
mod_muc_odbc
mod_offline_odbc
mod_privacy_odbc
mod_private_odbc
mod_pubsub_odbc
mod_roster_odbc
mod_shared_roster
mod_vcard_odbc
mod_vcard_xupdate_odbc



, , 2009 , , - . . , , .

Source: https://habr.com/ru/post/In154535/


All Articles