gmar84 0 Posted October 22, 2020 Share Posted October 22, 2020 I have been trying for 2 days to get ESMC going on Ubuntu 16. I am constantly running into issues. I get a few steps ahead and then run into an error, then have to spend hours researching it. For example, on the step: 1.Run the following command to open the my.cnf (my.ini for Windows installation) file in a text editor: sudo nano /etc/mysql/my.cnf If the file is not present, try /etc/my.cnf or /etc/my.cnf.d/community-mysql-server.cnf None of those locations are correct. The file is actually located in /etc/mysql/mysql.conf.d/mysqld.cnf and i had to Google that! (https://askubuntu.com/questions/829772/mysql-failed-to-restart-on-ubuntu-16-04) Another example: 2.Download the ODBC connector: •Ubuntu 16: wget https://downloads.mysql.com/archives/get/p/10/file/mysql-connector-odbc-8.0.17-linux-ubuntu16.04-x86-64bit.tar.gz But then on the requirements page (https://help.eset.com/esmc_install/72/en-US/database_requirements.html) Warning MySQL ODBC driver versions 5.3.11 and later, 8.0.0 – 8.0.15 and 8.0.18 and later are not supported. So you provided the instructions to install a version of ODBC that isn't supported. Instructions should be clear and concise, and these instructions are incredibly confusing and frustrating. Link to comment Share on other sites More sharing options...
Administrators Marcos 4,919 Posted October 22, 2020 Administrators Share Posted October 22, 2020 The instructions read to download MySQL 8.0.17. However, the warning says that only v8.0.0 – 8.0.15 and 8.0.18+ are not supported, ie. v8.0.16-v8.0.17 are supported: MySQL ODBC driver versions 5.3.11 and later, 8.0.0 – 8.0.15 and 8.0.18 and later are not supported. Link to comment Share on other sites More sharing options...
gmar84 0 Posted October 22, 2020 Author Share Posted October 22, 2020 Can you please tell me, when I try to run the installation script: sudo ./server-linux-x86_64.sh \ --skip-license \ --db-type="MySQL Server" \ --db-driver="MySQL ODBC 8.0 Driver" \ --db-hostname=127.0.0.1 \ --db-port=3306 \ --db-admin-username=root \ --db-admin-password=password \ --server-root-password=password \ --db-user-username=root \ --db-user-password=password \ --cert-hostname="localhost" I get the following error message: Extracting archive, please wait... Archive extracted to /tmp/tmp.WkyFyNr1dO. Checking OpenSSL ... done [OpenSSL 1.0.2g 1 Mar 2016] Reading previous installation settings ... failure Checking installed version... done Status of current installation is: NEW Checking database connection ... failure Error: An error occurred while trying to connect to the database. Error code: (1698). Unable to continue. I can login to the database succesfully using: sudo mysql -u root -p So i know the username/password is correct. Is there something else causing the database connection to fail? Link to comment Share on other sites More sharing options...
ESET Staff MartinK 376 Posted October 22, 2020 ESET Staff Share Posted October 22, 2020 3 hours ago, gmar84 said: Can you please tell me, when I try to run the installation script: sudo ./server-linux-x86_64.sh \ --skip-license \ --db-type="MySQL Server" \ --db-driver="MySQL ODBC 8.0 Driver" \ --db-hostname=127.0.0.1 \ --db-port=3306 \ --db-admin-username=root \ --db-admin-password=password \ --server-root-password=password \ --db-user-username=root \ --db-user-password=password \ --cert-hostname="localhost" I get the following error message: Extracting archive, please wait... Archive extracted to /tmp/tmp.WkyFyNr1dO. Checking OpenSSL ... done [OpenSSL 1.0.2g 1 Mar 2016] Reading previous installation settings ... failure Checking installed version... done Status of current installation is: NEW Checking database connection ... failure Error: An error occurred while trying to connect to the database. Error code: (1698). Unable to continue. I can login to the database succesfully using: sudo mysql -u root -p So i know the username/password is correct. Is there something else causing the database connection to fail? Could you please check installer log: /var/log/eset/RemoteAdministrator/EraServerInstaller.log for more detailed error description? Most probable reason would be issue related to ODBC driver configuration, but that should be confirmed by installer log. Link to comment Share on other sites More sharing options...
gmar84 0 Posted October 22, 2020 Author Share Posted October 22, 2020 (edited) Here is the installer log: 2020-10-22 16:14:31 Information: DbCheckConnection: Set output property: P_DB_PORT = 3306 2020-10-22 16:14:31 Information: GetDatabaseServerConnectionStringWithoutEscape: Created connection string: 'Driver=MySQL ODBC 8.0 Driver;Server=127.0.0.1;Port=3306;User=******;Password={*$ 2020-10-22 16:14:31 Information: Entering function: void Era::Setup::Common::CustomActions::CDatabaseReader::TestConnection(const string&, Era::Setup::Common::Database::Framework::ConnectO$ 2020-10-22 16:14:31 Information: Leaving function: void Era::Setup::Common::CustomActions::CDatabaseReader::TestConnection(const string&, Era::Setup::Common::Database::Framework::ConnectOp$ 2020-10-22 16:14:31 Information: Exception thrown while connecting to the specific database as a user.. Error code: 65535, DB specific error code: 1698, error message: [unixODBC][MySQL][OD$ 2020-10-22 16:14:31 Information: Entering function: void Era::Setup::Common::CustomActions::CDatabaseReader::TestConnection(const string&, Era::Setup::Common::Database::Framework::ConnectO$ 2020-10-22 16:14:31 Information: Leaving function: void Era::Setup::Common::CustomActions::CDatabaseReader::TestConnection(const string&, Era::Setup::Common::Database::Framework::ConnectOp$ 2020-10-22 16:14:31 Information: Exception thrown while connecting to the database SERVER as a user.. Error code: 65535, DB specific error code: 1698, error message: [unixODBC][MySQL][ODBC$ 2020-10-22 16:14:31 Information: DbCheckConnection: Set output property: P_DB_CONNECTION_STATUS = 1698 2020-10-22 16:14:31 Information: DbCheckConnection: Return code: 0 2020-10-22 16:14:31 Information: Installer: An error occurred while trying to connect to the database. Error code: (1698). Unable to continue. 2020-10-22 16:14:31 Information: Installer: Error: An error occurred while trying to connect to the database. Error code: (1698). Unable to continue. Edited October 22, 2020 by gmar84 Link to comment Share on other sites More sharing options...
gmar84 0 Posted October 23, 2020 Author Share Posted October 23, 2020 (edited) Sorry, I think the previous log was incomplete. Attached is the complete copy of the installer log. I think this line is of interest: Exception thrown while connecting to the database SERVER as a user.. Error code: 65535, DB specific error code: 1698, error message: [unixODBC][MySQL][ODBC 5.3(w) Driver]Access denied for user 'root'@'localhost' EraServerInstaller.log Edited October 23, 2020 by gmar84 Link to comment Share on other sites More sharing options...
gmar84 0 Posted October 23, 2020 Author Share Posted October 23, 2020 Also attached is my install script ESMC_install_script.txt Link to comment Share on other sites More sharing options...
FHolzer 0 Posted December 2, 2020 Share Posted December 2, 2020 most of you errors are missing "common linux knowledge". Im not tryin to be offense - but you should probably get more linux skills before installing software like this. i dont see anything related to ESET. Also keep in mind that there so MANY Linux distros with different Package Versions. The Documentation is good - but you should know what you are doing and dont copy paste all commands without thinking. As example -> if you dont know where your my.cnf is located - you are missing common mysql/mariadb knowledge. If you dont know how to search for a file on linux -> you are missing common knowledge. your last error seems also mysql Related. it could be a DNS Problem, wrong creds. or a missconfigured mysql-daemon. also you are using the password "password" in your installer. This cant be right .... Link to comment Share on other sites More sharing options...
FunkyBlue 0 Posted January 22, 2021 Share Posted January 22, 2021 On 12/2/2020 at 11:26 AM, FHolzer said: most of you errors are missing "common linux knowledge". Im not tryin to be offense - but you should probably get more linux skills before installing software like this. i dont see anything related to ESET. Also keep in mind that there so MANY Linux distros with different Package Versions. The Documentation is good - but you should know what you are doing and dont copy paste all commands without thinking. As example -> if you dont know where your my.cnf is located - you are missing common mysql/mariadb knowledge. If you dont know how to search for a file on linux -> you are missing common knowledge. your last error seems also mysql Related. it could be a DNS Problem, wrong creds. or a missconfigured mysql-daemon. also you are using the password "password" in your installer. This cant be right .... You know what, I have set up several Ubuntu servers that run internal and public facing webservers, drive imaging, business process management, human resources, and equipment inventory. All virtual, all running either 16.04 or 18.04. I have enough Linux skills to get all of those running with no issues. I have run into many systems where that wasn't so, but it was because the instructions have been terrible. Devs sometimes forget that everyone may have a different definition of what "standard prerequisites" means. One install of a process management system forgot to include 3-4 pieces of software that are not preinstalled on a new install of Ubuntu, and of those, 1 needed a repository added to download it. None of this was mentioned in the installs and it took me reading the logs, googling the module it was missing, and trying the install again and again until I finished it. The OP is not wrong with these instructions. They are not structured right. The server install information comes before the pre-reqs, for one thing. A user paying for and installing this software shouldn't need sysadmin god-level training to install this. For crying out loud, we shouldn't have to read between the lined about what version of a software piece is compatible. Don't tell us what we can't use. Instead of saying "Version 1, 2, 5, 6 are incompatible", just pick a compatible version and tell us "install version 4" and then provide the details on how to do that particular piece. I'm in the same spot right now. Error 1698 running ODBC 5.3 after 8.0 didn't work on MySQL 5.72, which I thought was listed as compatible, but now see where it needs to be a particular version of 8.0. Again, pick a version, tell the user what exactly they should use to make your software work, and then give them directions based on that. Split it up, if you need to. "If you're using MySQL on Linux, go here:" and give them pertinent info based on their distro. Don't give us "step-by-step" instructions that start in the middle, send us backwards, and then don't give you the right information so that you have to start over after you google your error and find out you've been using the "wrong version" the whole time. I have waded through some terrible instructions for open source software, and taken it with a bit of humor since it was a free license I'm working with and it most likely came from someone in their home working on it in their spare time. But this is one of the larger and more highly rated AV vendors out there and this level of installation documentation is not about having "l33t Linux Skeellz". Also, if I was going to paste my install script in a public forum, I wouldn't put the passwords I was using to install it. I would put them in as "password". Security thing. Kind of important. Now, that being said, I'm wiping this VM and starting over again with the "compatible versions" and see if I have more luck. Link to comment Share on other sites More sharing options...
ESET Staff janoo 11 Posted January 27, 2021 ESET Staff Share Posted January 27, 2021 Hi, we are working on improving this part of documentation, for example, the listing of the supported DB and ODBC versions has been improved in the online help for version 8.0 Database | ESET PROTECT | ESET Online Help Link to comment Share on other sites More sharing options...
FunkyBlue 0 Posted February 11, 2021 Share Posted February 11, 2021 I went back through with a whole new Ubuntu 20 VM. Followed everything to the letter. Everything looks good, replies back with the correct responses, go to install the server, "Database not configured properly". I went back over the installation instructions, verified I was using the instructions for Ubuntu 20, ODBC 8.0, and MySQL 8. I have tried several permutations of the install script, including a new MYSQL user with root privileges and remote access to the system. I have a ticket in now, but this has been frustrating far beyond belief. I may have to wait until my new servers come in to upgrade to VMWare 6.7 and then use the VM Appliance... Link to comment Share on other sites More sharing options...
streamlan 0 Posted February 11, 2021 Share Posted February 11, 2021 Hiya FunkyBlue, I believe I had this issue too when I was attempting to get ERA installed on Debian. The initial server install script connects to the empty MySQL server, then using MySQL's framework SHOULD create an ERA database user. I've installed ESET Protect 8 now three times, and sometimes it uses the MySQL ROOT user to make db queries to era_db, and other times it used the user it created on the install to make those queries! I think I've cracked the code to wit: sudo ./server-linux-x86_64.sh \ --skip-license \ --db-type="MySQL Server" \ --db-driver="MySQL ODBC 8.0 Driver" \ --db-hostname=your.host.name \ --db-port=3306 \ --db-admin-username=root \ ( This is the MySQL root user ) --db-admin-password=password \ ( beware of whitespace or characters which need to be escaped! I had a tough time with whitespace and escaped characters, this would have been set when you went through the MySQL installation on your system) --db-user-username=erauser \ ( This is the MySQL user ERA WANTS to create and use as the default user for it's era_DB I chose "erauser" ) --db-user-password=(erauser password - the script sets this) \ --server-root-password=(webconsole password - the script sets this) \ --cert-hostname="host, ipaddr, FQDN" I think one of the issues is that a lot of these variables, users, terms, and directives are REALLY close in name, leading to end user transposition in what they THINK ERA wants in those fields. At least that's what I've found, and so far the only way I've overcome was by brute force lol! Link to comment Share on other sites More sharing options...
FunkyBlue 0 Posted February 11, 2021 Share Posted February 11, 2021 Let me get back there and try this again. I even tried copying each switch individually to avoid blank or unneeded characters. I'll update after I have regained consciousness from beating my head into this wall. Link to comment Share on other sites More sharing options...
FunkyBlue 0 Posted February 11, 2021 Share Posted February 11, 2021 Ok, I think I may have found one issue. You know when they say "It's DNS"? That may be part of it. I manually added the host into my DNS server and changed the user to erauser. then it came back and said user had the wrong password instead of straight failed. I put my created user back in (esetdb) and failed again. Should I create the erauser as a user in MYSQL before running it? Link to comment Share on other sites More sharing options...
FunkyBlue 0 Posted February 11, 2021 Share Posted February 11, 2021 Nevermind. I added an erauser account, re-ran the script, no longer gives me password wrong. Now just back to Database not configured properly again. Link to comment Share on other sites More sharing options...
streamlan 0 Posted February 11, 2021 Share Posted February 11, 2021 Hey FunkyBlue, In my instance, I use 127.0.0.1 as the MySQL host since it's on the same machine. In that case, I didn't create the erauser beforehand. I arbitrarily picked the username erauser, so it would be unique from other db users. You could specify --db-user-username=ladygaga and the installer will create a MySQL user named ladygaga with full access to the MySQL database era_DB. If the script/installer can connect successfully to the MySQL instance with MySQL's root user, it SHOULD be able to create a DB, then add that user you've specified to that DB as full access. I think you're on the right path with hostname resolution / DNS! Something tells me that the script can't connect to your MySQL DB as the root MySQL user then it's just bombing. Link to comment Share on other sites More sharing options...
FunkyBlue 0 Posted February 11, 2021 Share Posted February 11, 2021 I got it. It was the MYSQL cnf file. It sayd for version 8.0 to put in a line in [mqsqld], but says if you're using 5.62 (or other version) to put in two other lines. I didn't put those lines in because the instructions don't specify they need to be used for 8.0 and make it look like you don't need it. Added those two line in, reloaded mysql, installing now. Link to comment Share on other sites More sharing options...
streamlan 0 Posted February 11, 2021 Share Posted February 11, 2021 YES! That's right. I bumped into the same issue. On the MySQL Server setup of the guide here: https://help.eset.com/protect_install/80/en-US/installation_linux.html?mysql_configuration.html Specifically: Quote 2.Find the following configuration in the [mysqld] section of the my.cnf file and modify the values. If the parameters are not present in the file, add them to the [mysqld] section: max_allowed_packet=33M •For MySQL 8 you have to set the following variable: olog_bin_trust_function_creators=1 On the initial MySQL install on Debian, and in your instance on Ubuntu, if you look in your /etc/mysql/my.cnf at least on my system, there is no [mysqld] entry in the distributions my.cnf ! The guide says add these items to your my.cnf under the [mysqld] section. The guide should amend this and say: "If you do not have these directives in my.cnf you'll have to add them manually INCLUDING the [mysqld] section!" I can see how this can get very confusing, because each of these distros, and each of these open source packages like MySQL and tomcat9 have many different environments depending on who's flavor you're installing. Link to comment Share on other sites More sharing options...
Recommended Posts