[KB7859] No es posible conectarse a la Consola web de ESET PROTECT luego de actualizar Linux MySQL

Escenario

  • La Consola web de ESET PROTECT muestra el siguiente mensaje de error: "Error loading data" luego de actualizar el paquete del Conector ODBC de Linux (mysql-connector-odbc) hacia la versión 5.6.40-2.el7 (o posterior) y reiniciar el servicio de MySQL
     
  • Si no se encontraba en una sesión iniciada durante la actualización, la Consola web de ESET PROTECT no se conectará a ESET PROTECT Server y reportará el error  "Not connected"
  • Puede visualizar los siguientes mensajes de error en el registro de trazas de ESET PROTECT Server (localizado en /var/log/eset/EsetProtect/Server/trace.log):
    • Error: CDataMinersModule [Thread 7f935ebc7700]: Failed to write some logs because: [unixODBC][Driver Manager]Can't open lib 'MySQL ODBC 5.3 Unicode Driver' : file not found (0). Rescheduling.
       
    • Error: CDatabaseModule [Thread 7fb81deef740]: Probing database connection failed. Next connection attempt will be in 10 seconds. 1 more attempt will be made. The database access layer reported: [unixODBC][Driver Manager]Can't open lib 'MySQL ODBC 5.3 Unicode Driver' : file not found (0)

  • Puede iniciar sesión en la Consola web, pero algunos productos ESET no estarán presentes en la selección de paquete de la tarea de Instalación de software.

Detalles

El inconveniente afecta a usuarios de:

  • ESET PROTECT Virtual Appliance
     
  • ESET PROTECT MDM en Virtual Appliance - Si ha implementado ESET PROTECT MDMCore en ESET PROTECT Virtual Appliance y actualizó MySQL en ese appliance, podría experimentar el mismo problema descripto más arriba. El componente ESET PROTECT MDMCore no será capaz de conectarse a su base de datos.
     
  • ESET PROTECT Virtual Agent Host - Si ha implementado ESET PROTECT Virtual Agent Host y actualizó MySQL en ese appliance, podría experimentar el mismo problema descripto más arriba. El registro el error puede ubicarse en /var/log/eset/EsetProtect/VAgentHost/trace.log. El componente ESET PROTECT Virtual Agent Host no será capaz de conectarse a su base de datos. 
     
  • ESET PROTECT Proxy VA - Si ha implementado ESET PROTECT Proxy en ESET PROTECT Virtual Appliance y actualizó MySQL en ese appliance, podría experimentar el mismo problema descripto más arriba. El registro el error puede ubicarse en /var/log/eset/Esetprotect/Proxy/trace.log. El componente ESET PROTECT Proxy no será capaz de conectarse a su base de datos. 
     
  • Usuarios de Linux que utilizan el mismo conector ODBC que emplea el Virtual Appliance.

Solución

Disminuya la versión del controlador de ODBC

Impida la actualización de MySQL

Para verificar la versión de los controladores ODBC que posee actualmente, ejecute el siguiente comando:

odbcinst -q -d

Siga las instrucciones solo si la lista de controladores (visible al ejecutar el comando odbcinst -q -d) y las versiones soportadas de ODBC no coinciden.

Versiones soportadas de ODBC

Luego de actualizar MySQL, necesitará disminuir la versión del controlador.

Si aún no actualizó, o luego de actualizar el controlador, puede evitar este suceso congelando la versión de MySQL.

 


Disminuya la versión del controlador de ODBC

Si actualizó el controlador de ODBC, puede disminuir la versión (hacia una versión soportada) y luego impedir que se actualice congelando esa versión.

  1. Abra su máquina virtual (cuando ejecute ESET PROTECT Virtual Appliance/MDMCore/ESET PROTECT Proxy/ESET PROTECT VAH) e inicie sesión en la Terminal.
     
  2. Detenga el servicio MySQL y el respectivo servicio de ESET PROTECT:

service mysqld stop

service esetprotectserver stop (ESET PROTECT Virtual Appliance)

service esetprotectmdmcore stop (ESET PROTECT MDMCore)

service esetprotectproxy stop (ESET PROTECT Proxy)

service esetprotectvagenthost stop (ESET PROTECT Virtual Agent Host)

Usuarios systemd 

Si su sistema utiliza el administrador de servicios systemd en lugar de SysVinit, el comando service no funcionará. Para determinar su administrador de servicios ejecute: 
stat /proc/1/exe 

Su administrador de servicios aparecerá en la primera línea del resultado.

Si su sistema utiliza systemd, use los siguientes comandos para detener/reiniciar servicios (los nombres de los servicios son iguales con SysVinit; remplace el resto el comando cuando detenga/reinicie los servicios para otros componentes).

systemctl stop mysqld (detiene un servicio)

systemctl restart esetprotectserver (reinicia un servicio)

  1. Desinstale el controlador de ODBC:

    yum remove mysql-connector-odbc.x86_64
     
  2. Descargue el paquete del controlador de ODBC 5.3.10:

    wget https://downloads.mysql.com/archives/get/p/10/file/mysql-connector-odbc-5.3.10-1.el7.x86_64.rpm
     
  3. Haga ejecutable el paquete:

    chmod +x mysql-connector-odbc-5.3.10-1.el7.x86_64.rpm
     
  4. Instale el controlador de ODBC 5.3.10:

    yum localinstall ./mysql-connector-odbc-5.3.10-1.el7.x86_64.rpm
     
  5. Edite el archivo de configuración:

    nano /etc/opt/eset/Esetprotect/Server/StartupConfiguration.ini (ESET PROTECT Virtual Appliance)

    nano /etc/opt/eset/Esetprotect/MDMCore/startupconfiguration.ini (ESET PROTECT MDMCore)

    nano /etc/opt/eset/Esetprotect/Proxy/StartupConfiguration.ini (ESET PROTECT Proxy)

    nano /etc/opt/eset/Esetprotect/VAgentHost/StartupConfiguration.ini (ESET PROTECT Virtual Agent Host)

    Cambie 8.05.3 y guarde el archivo.
     
  6. Instale el plugin YUM Versionlock:

    yum install yum-plugin-versionlock
     
  7. Agregue los componentes de MySQL a Versionlock:

    yum versionlock "mysql-*"
  8. Luego de disminuir la versión, si la configuración del controlador permaneció sin cambios, no serán requeridas acciones adicionales.

    Si hubo cambios en la configuración del controlador, reinicie el servicio de MySQL y el del respectivo componente de ESET PROTECT:

    service mysqld restart

    service EsetProtect restart (ESET PROTECT Virtual Appliance)

    service EsetProtectmdmcore restart (ESET PROTECT MDMCore)

    service EsetProtectproxy restart (ESET PROTECT Proxy)

    service EsetProtectvagenthost restart (ESET PROTECT Virtual Agent Host)

    Aguarde un momento hasta que el servicio se reanude e inicie sesión en la Consola web de ESET PROTECT.
     

Impida que se actualice MySQL

Si todavía no actualizó el controlador de ODBC, puede impedir que YUM actualice el controlador de ODBC y los componentes de MySQL congelando la versión que posee.

  1. Abra su máquina virtual (cuando ejecute ESET PROTECT Virtual Appliance) e inicie sesión en la Terminal.
     
  2. Instalel plugin YUM Versionlock:

    yum install yum-plugin-versionlock
     
  3. Agregue los componentes de MySQL a Versionlock:

    yum versionlock mysql-*
     
  4. Verifique si existe una nueva entrada en la lista de Versionlock:

    yum versionlock list
Actualizaciones de MySQL
  • Congelar la versión en YUM impedirá que los componentes de MySQL se actualicen en el futuro.
  • Si Versionlock no muestra a MySQL en la lista, intente ejecutar: yum versionlock "mysql-*"