[KB7859] Cannot connect to the ESET PROTECT Web Console after Linux MySQL update

Issue

  • The ESET PROTECT Web Console displays the following error message: "Error loading data" after updating Linux ODBC Connector (mysql-connector-odbc) package to version 5.6.40-2.el7 (and later) and restarting the MySQL service
  • If you were not logged in during the upgrade, the ESET PROTECT Web Console will not connect to ESET PROTECT Server and will report the error "Not connected"

     
  • You can find the following error messages in the ESET PROTECT Server trace log (located at /var/log/eset/RemoteAdministrator/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)

  • You can log in to the Web Console, but some ESET products are missing in Software installation task package selection
  • Verify your current ODBC drivers version
  • Downgrade the ODBC driver
  • Prevent MySQL from updating

Details


Click to expand:

This issue affects all users of:

  • ESET PROTECT Virtual Appliance.
  • Linux users who use the same ODBC connector the Virtual Appliance is using.

Solution

Verify your current ODBC drivers version

To verify your current ODBC drivers version, run the following command:

odbcinst -q -d

Follow this article only if the list of drivers (run the command odbcinst -q -d) and the supported ODBC versions do not match.

Supported ODBC versions

See the list of supported ODBC versions.

After the MySQL has been updated, you need to downgrade the driver.

If you have not updated yet, or after downgrading the driver, you can prevent the issue by freezing the MySQL version.


Downgrade the ODBC driver

If you have updated your ODBC driver, you can downgrade it to a supported version and prevent the driver from upgrading by freezing the version.

  1. While running ESET PROTECT Virtual Appliance, open your Virtual Machine and log in to Terminal.

  2. Stop MySQL service and the respective ESET PROTECT component service:

service mysqld stop

ESET PROTECT Virtual Appliance:

service eraserver stop
  1. Uninstall the ODBC driver:

yum remove mysql-connector-odbc.x86_64
  1. Download ODBC 5.3.10 driver package:

wget https://downloads.mysql.com/archives/get/p/10/file/mysql-connector-odbc-5.3.10-1.el7.x86_64.rpm
  1. Make the package executable:

chmod +x mysql-connector-odbc-5.3.10-1.el7.x86_64.rpm
  1. Install ODBC driver 5.3.10:

yum localinstall ./mysql-connector-odbc-5.3.10-1.el7.x86_64.rpm
  1. Edit the ESET PROTECT Virtual Appliance configuration file. Change 8.0 to 5.3 and save the file. 

nano /etc/opt/eset/RemoteAdministrator/Server/StartupConfiguration.ini
  1. Install YUM Versionlock plugin:

yum install yum-plugin-versionlock
  1. Add MySQL components to the Versionlock:

yum versionlock "mysql-*"
  1. After the downgrade, if the driver configuration was left unchanged, no further actions are needed.

    If there were any changes in driver configuration, restart MySQL service and the respective ESET PROTECT component service:

service mysqld restart

ESET PROTECT Virtual Appliance:

service eraserver restart

Wait a minute until the service starts and log in to the ESET PROTECT Web Console.


Prevent MySQL from updating

If you have not updated your ODBC driver yet, you can prevent yum from upgrading the ODBC driver and MySQL components by freezing the current version.

  1. Open your Virtual Machine (when running ESET PROTECT Virtual Appliance) and log in to Terminal.

  2. Install the YUM Versionlock plugin:

yum install yum-plugin-versionlock
  1.  Add MySQL components to the Versionlock:
yum versionlock mysql-*
  1. Check if there is a new entry in the Versionlock list:
yum versionlock list
MySQL updates
  • Freezing the version in YUM will prevent MySQL components from future updates.
  • If the Versionlock does not display the MySQL in the list, try running:
yum versionlock "mysql-*"