Ejabberd: Migración mnesia a mysql en windows server 2008 rt standart


 Instalación de mysql server 5.6

Mysql es un gestor de base de datos para la conexión de cualquier cliente, estos establecen comunicación mediante dos formas TCPI o utilizando sockets o llamados named-pipes.


Para la instalación se utilizó el link click aquí. Para ello se debe seguir paso a paso una vez terminada la instalación; se procede con la configuración de MYSQL SERVER 5.6. Estos estan en link de referencia.

Observaciones:


  • Para instalar tener encuenta que los pre-requisitos de instalación de mysql server 5.6 funcionen correctamente, estos vienen cargados con el pack de instalación msi.
  • En la configuración para el tipo de servido seleccionamos la opción Development Machine
  • Recordar el usuario y contraseña de acceso al servidor mysql.
  • Al terminar de instalar y configurar, agregar la variable de entorno path Variable Value:....;C:\Program Files\MySQL\MySQL Server 5.6\bin. Probamos ejecuntan el cmd de windows
Creación y configuración de la base de datos para ejabberd
Seguimos la siguiente secuencia de comandos:
   C:\\> mysql -u root -p -h localhost
   Enter Password: *******        
//BDD: ejabberd, USER: ejabberd, PASSW: ejabberd
   mysql> GRANT ALL PRIVILEGES ON ejabberd.* TO 'ejabberd'@'localhost' IDENTIFIED BY 'ejabberd'; | mysql -h localhost -u root
   mysql&gtFLUSH PRIVILEGES;
   mysql> quit
   mysql&gtC:\\> mysql -u ejabberd -p -h localhost
   mysql&gtEnter Password: *******
   mysql> CREATE DATABASE ejabberd; | mysql -h localhost -u ejabberd -p
   mysql> SHOW DATABASES;       
   mysql> USE DATABASE ejabberd;
   mysql> SOURCE C:/Program Files/ejabberd-18.03/lib/ejabberd-18.03/priv/mysql.sql
   mysql> SHOW TABLES; | mysql -h localhost -D ejabberd -u ejabberd -p --table





Configuracion para la conexion de ejabberd con mysql 
Nos dirigimos al archivo de configuracion ejabberd.yml y buscamos el bloque de configuracion para conexion de la base de datos, este debe tener el siguiente formato. Luego de hacer los cambios reiniciamos el servidor ejabberd y comprobamos que no se cargen el errores en el archivo ejabberd.log

// configuracion del archivo ejabberd.yml
##
## MySQL server:
##
sql_type: mysql
sql_server: "localhost"
sql_database: "ejabberd"
sql_username: "ejabberd"
sql_password: "ejabberd"
##
## If you want to specify the port:
sql_port: 3306
default_db: sql
// reiniciar el servidor abrir cmd en modo administrador 
C:\\..> cd  C:\Program Files\ejabberd-18.03\bin
C:\\..> ejabberdctl restart
Continuamos haciendo  un backup de mnesia y script de texto de nuestro base de datos interna.
dump ejabberd.dump
backup ejabberd.backup
Para migrar sus datos, una vez que haya configurado su servicio sql, puede mover la mayoría de los datos a su base de datos; im.server.com es el nombre del servidor ejabberd.
live
ejd2sql:export(<<"im.server.com">>, sql).

Continuamos entrando a mysql y mostramos los datos extraidos.



NOTA: Esta es una migracion de datos, se se desea tener el servidor de base de datos en linea debemos de comentaar los metodos de autentificación de internal a sql.

Fuentes:
  • https://docs.ejabberd.im/admin/databases/mysql/
  • https://docs.ejabberd.im/admin/guide/managing/
  • http://wiki.douglasqsantos.com.br/doku.php/instalacao_e_configuracao_do_ejabberd_pt_br
  • https://lamteiwahlang.wordpress.com/2017/02/27/install-ejabberd-xmpp-server-in-ubuntu-16-04/
  • https://www.rootusers.com/how-to-upgrade-migrate-ejabberd-xmpp-server-on-linux/

ejabberd SQL Database Schema

Table last 
Esta tabla se usa para almacenar la última vez que se vio al usuario en línea. 

Tabla private_storage 
Usado para el almacenamiento de datos privados del usuario.


  • https://docs.ejabberd.im/developer/sql-schema/#table-sr-user
  • Que tipo de migracion es 1 a 1 y toda la base, si se cargan los datos nuevo o la vuelve a subcribir.
SQLLITE


https://github.com/processone/ejabberd/issues/2486
ODBC



Comentarios

Entradas más populares de este blog

Django

JEE Java Enterprise Editions

React js