[KB7859] Po aktualizaci MySQL se nemohu přihlásit do webové konzole ESET PROTECT

Situace

  • Webová konzole ESET PROTECT zobrazuje následující chybové hlášení: "Error loading data" po aktualizaci Linux ODBC Connectoru (mysql-connector-odbc) na verzi 5.6.40-2.el7 (a novější) a restartování služby MySQL
  • Pokud jste během aktualizace nebyli přihlášeni, webová konzole ESET PROTECT se nepřipojí k serveru ESET PROTECT a ohlásí chybu "Not connected"

  • V trace logu (umístěném v cestě /var/log/eset/RemoteAdministrator/Server/trace.log) naleznete následující chybová hlášení:

    • 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) 

  • Do webové konzole se můžete přihlásit, ale ve výběru balíčků v Instalace aplikace sekci chybí některé produkty ESET
  • Ověřte aktuální verzi ODBC konektoru
  • Proveďte donwgrade ODBC konektoru
  • Zakažte aktualizaci MySQL

Podrobnosti


Klikněte pro rozbalení:

Tato situace se týká uživatelů:

  • ESET PROTECT Virtual Appliance.
  • ESET PROTECT MDM na Virtual Appliance - Pokud jste nasadili ESET PROTECT MDMCore na ESET PROTECT Virtual Appliance a aktualizovali jste MySQL na tomto zařízení, můžete mít stejný problém, jaký byl popsán výše. Komponenta ESET PROTECT MDMCore se nebude moci připojit ke své databázi.
  • Linux uživatelé, kteří používají stejný ODBC konektor, jaký používá Virtual Appliance.

Řešení

Uživatelé, kteří pracují s Linuxem méně často:

Pro vyřešení situace použijte zjednodušený postup:


Downgrade ODBC konektoru na podporovanou verzi a zakázání aktualizace MySQL komponent:
  1. Připojte se k virtuální appliance prostřednictvím SSH nebo Konzole pro správu.
  2. Proveďte downgrade ODBC konektoru na verzi 5.3 pomocí příkazu:
    yum downgrade mysql-connector-odbc-5.3.10
  3. Zakažte aktualizaci MySQL komponent:
    yum install yum-plugin-versionlock
    yum versionlock mysql-*
    yum versionlock mysql-connector-odbc-*

Doinstalování starší verze ODBC konektoru:
  1. Připojte se k virtuální appliance prostřednictvím SSH nebo Konzole pro správu.
  2. Stáhněte si ODBC konektor ve verzi 5.3: wget https://dev.mysql.com/get/Downloads/Connector-ODBC/5.3/mysql-connector-odbc-5.3.10-linux-el7-x86-64bit.tar.gz
  3. Stažený archiv rozbalte:
    tar xzf mysql-connector-odbc-5.3.10-linux-el7-x86-64bit.tar.gz
  4. Překopírujte ovladač:
    cp *.so /usr/lib64/
  5. V textovém editoru si otevřete soubor odbinst.ini:
    nano /etc/odbcinst.ini
  6. Do souboru přidejte následující řádky:
    [MySQL ODBC 5.3 Unicode Driver]
    Driver=/usr/lib64/libmyodbc5w.so
    UsageCount=1

    Změny uložte stisknutím kláves CTRL + X a potvrďte klávesou Y.

  7. V textovém editoru si otevřete soubor
    /etc/opt/eset/RemoteAdministrator/Server/StartupConfiguration.ini a ověřte, že je v něm uveden konektor MySQL ODBC 5.3 Unicode Driver.
  8. Restartujte službu databázového serveru a produktu ESET PROTECT Serveru:

    Virtuální appliance založená na CentOS6:
    service mysqld restart
    a
    service mysqld eraserver

    Virtuální appliance založená na CentOS7:
    systemctl restart mysqld
    a
    systemctl restart eraserver 

Ověřte aktuální verzi ODBC ovladačů

Pro ověření aktuální verze ODBC ovladačů spusťte následující příkaz:

odbcinst -q -d

Podle tohoto článku postupujte pouze v případě, že se seznam ovladačů (spuštění příkazu odbcinst -q -d) a podporované verze ODBC neshodují.

Podporované verze ODBC

Seznam podporovaných verzí ODBC.

Po aktualizaci MySQL je potřeba provést downgrade ovladače.

Pokud jste dosud neaktualizovali nebo po downgrade ovladače, můžete situaci předejít zakázáním další aktualizace MySQL.


Downgrade ovladače ODBC

Pokud jste aktualizovali ovladač ODBC, můžete provést downgrade na podporovanou verzi a zabránit další aktualizaci.

  1. Při spuštěném ESET PROTECT Virtual Appliance/MDMCore otevřete Virtual Machine a přihlaste se do Terminálu.

  2. Zastavte službu MySQL a službu ESET PROTECT:

service mysqld stop

ESET PROTECT Virtual Appliance:

service eraserver stop

ESET PROTECT MDMCore:

service eramdmcore stop
systemd uživatelé

Pokud váš systém používá systemd service manager namísto SysVinit, příkaz service nefunguje. K určení vašeho service managera spusťte příkaz:

stat /proc/1/exe

Váš service manager je uveden na prvním řádku výstupu.

Pokud váš systém používá systemd, použijte následující příkazy pro zastavení/restartování služeb (názvy služeb jsou stejné jako u SysVinit; při zastavování/restartování služeb pro jiné komponenty nahraďte zbytek příkazu).

Zastavení služby:

systemctl stop mysqld

Restartování služby::

systemctl restart eraserver
  1. Odinstalujte ovladač ODBC:

yum remove mysql-connector-odbc.x86_64
  1. Stáhněte si balíček ovladače 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
  1. Nastavte balíček jako spustitelný:

chmod +x mysql-connector-odbc-5.3.10-1.el7.x86_64.rpm
  1. Nainstalujte ovladač ODBC 5.3.10:

yum localinstall ./mysql-connector-odbc-5.3.10-1.el7.x86_64.rpm
  1. Upravte konfigurační soubor:

ESET PROTECT Virtual Appliance:

nano /etc/opt/eset/RemoteAdministrator/Server/StartupConfiguration.ini

ESET PROTECT MDMCore:

nano /etc/opt/eset/RemoteAdministrator/MDMCore/startupconfiguration.ini

Změňte 8.0 na 5.3 a soubor uložte.

  1. Nainstalujte YUM Versionlock plugin:

yum install yum-plugin-versionlock
  1. Přidejte komponenty MySQL do Versionlock:

yum versionlock "mysql-*"
  1. Pokud byla konfigurace ovladače po downgrade ponechána beze změny, není třeba provádět žádné další akce.

    Pokud došlo ke změnám v konfiguraci ovladače, restartujte službu MySQL a příslušnou službu komponenty ESET PROTECT:

service mysqld restart

ESET PROTECT Virtual Appliance:

service eraserver restart

ESET PROTECT MDMCore:

service eramdmcore restart

Vyčkejte chvíli, než se služba spustí a přihlaste se do webové konzole ESET PROTECT.


Zakázání aktualizace MySQL

Pokud jste dosud neaktualizovali ODBC ovladač, můžete zabránit aktualizaci ovladače ODBC a komponent MySQL tím, že "zmrazíte" aktuální verzi.

  1. Otevřete Virtual Machine (při spuštěné ESET PROTECT Virtual Appliance) a přihlaste se do Terminálu.

  2. Nainstalujte doplněk YUM Versionlock:

yum install yum-plugin-versionlock
  1. přidejte komponenty MySQL do Versionlock:
yum versionlock mysql-*
  1. Zkontrolujte, zda je v seznamu Versionlock nová položka:
yum versionlock list
Aktualizace MySQL
  • Zmrazení verze v YUM zabrání budoucím aktualizacím komponent MySQL.
  • Pokud se v seznamu Versionlock nezobrazí MySQL, zkuste spustit:
yum versionlock "mysql-*"