• If you are still using CentOS 7.9, it's time to convert to Alma 8 with the free centos2alma tool by Plesk or Plesk Migrator. Please let us know your experiences or concerns in this thread:
    CentOS2Alma discussion

Can't open lib '/usr/lib64/libmyodbc5.so

Manuel_Caramia

Regular Pleskian
Hi,
I have thi issue if I try to open Control Panel-Tools and Settings-Application Vault and also if I click on Wordpress Toolkit.
I have tried to find the lib with thiss command:
find / \( -name libmysqlserver.so.2 -o -name libmyodbc.so \) -print 2>/dev/null
with this output:
/usr/lib64/sw/libmysqlserver.so.2
/usr/share/cagefs-skeleton/usr/lib64/sw/libmysqlserver.so.2

I think that the path is incorrect because I have red that it was be /usr/lib64/ and no /usr/lib64/sw/
I have red this link: http://kb.sp.parallels.com/en/120426 but the path is /usr/lib64/ and also I have reinstall
mysql-connector-odbc but with no success.
Thank you
 
Hi Manuel_Caramia,


Could you please provide the commands and the output of your used commands?
[root@orderhosting ~]# ls -la /usr/lib64/libmyodbc5.so
ls: impossibile accedere a /usr/lib64/libmyodbc5.so: No such file or directory
[root@orderhosting ~]# rpm -qf /usr/lib64/libmyodbc5.so
errore: file /usr/lib64/libmyodbc5.so: No such file or directory
[root@orderhosting ~]# rpm -qa | grep mysql-connector
mysql-connector-odbc-5.3.4-1.el6.x86_64
[root@orderhosting ~]# rpm -Uvh mysql-connector-odbc-5.3.4-1.el6.x86_64.rpm --force
I think everythink is caused because libmyodbc5.so is under /usr/lib64/sw/ and no /usr/lib64/
Thank you!
 
Hi Manuel_Caramia,

and why don't you correct the path, as suggested in the KB - article ( http://kb.sp.parallels.com/120426 ) ?

Locate the file on your system with for example:

locate libmyodbc5.so
Open the file "/etc/odbcinst.ini" and adjust the path
Code:
Driver      = /usr/lib/libmyodbc5.so
... to the complete path of the file you just located.


Resolutions and suggestions can vary, because of different operating systems or modifications. Please see the resolutions and examples with paths always as a "standard example" and adjust the paths to your very own, sometimes unique, server configurations.
 
Hi Manuel_Caramia,

and why don't you correct the path, as suggested in the KB - article ( http://kb.sp.parallels.com/120426 ) ?

Locate the file on your system with for example:

locate libmyodbc5.so
Open the file "/etc/odbcinst.ini" and adjust the path
Code:
Driver      = /usr/lib/libmyodbc5.so
... to the complete path of the file you just located.


Resolutions and suggestions can vary, because of different operating systems or modifications. Please see the resolutions and examples with paths always as a "standard example" and adjust the paths to your very own, sometimes unique, server configurations.
I have tried to correct the path with no success. I think there is no the file: libmyodbc5.so, infact if I locate it I receive nothink:
[root@orderhosting ~]# locate libmyodbc5.so
[root@orderhosting ~]#
 
@UFHH01, after I have red http://kb.sp.parallels.com/en/118671 and in particular the last past I receive this error in my plesk panel:
Internal error: A table must have a primary key, but none was found
I have only created two symlinks with these commands:
# ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
ln -s /usr/lib64/libmyodbc5w.so libmyodbc5.
 
@UFHH01, after I have red http://kb.sp.parallels.com/en/118671 and in particular the last past I receive this error in my plesk panel:
Internal error: A table must have a primary key, but none was found
I have only created two symlinks with these commands:
# ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
ln -s /usr/lib64/libmyodbc5w.so libmyodbc5.
Excuse me, I have removed the two symlinks with the command: rm
Now I receive again the same error.
 
Manuel_Caramia,

locate may as well print out no results, when the database is not up-to-date ( due to latest installs, modifications, etc... ). To update the "locate database", please always use "updatedb" over the command line on a regular basis ( an hourly cronjob for this command might be a good idea ).


The suggestions to symlink are not at all wrong, because your installed package "mysql-connector-odbc-5.3.4-1.el6.x86_64.rpm" contains the *.so 's : "libmyodbc5a.so" and "libmyodbc5w.so"... BUT ( !!! ) please use the correct symlinks, as for example:

ln -s /usr/lib64/libmyodbc5w.so libmyodbc5.so

to avoid issues/failures/problems.
Please keep as well in mind to use the compatible ODBC connector for your very own installed MySQL - version, because otherwise you will experience more issues/failures/problems.


If you need some help with the modifications, please don't "play around" with settings, modifications and configurations. Contact the Odin/Parallels - Support and create a "Plesk Per Incident Support" - ticket, so that experienced linux server administrators can help you.
 
Manuel_Caramia,

locate may as well print out no results, when the database is not up-to-date ( due to latest installs, modifications, etc... ). To update the "locate database", please always use "updatedb" over the command line on a regular basis ( an hourly cronjob for this command might be a good idea ).


The suggestions to symlink are not at all wrong, because your installed package "mysql-connector-odbc-5.3.4-1.el6.x86_64.rpm" contains the *.so 's : "libmyodbc5a.so" and "libmyodbc5w.so"... BUT ( !!! ) please use the correct symlinks, as for example:

ln -s /usr/lib64/libmyodbc5w.so libmyodbc5.so

to avoid issues/failures/problems.
Please keep as well in mind to use the compatible ODBC connector for your very own installed MySQL - version, because otherwise you will experience more issues/failures/problems.


If you need some help with the modifications, please don't "play around" with settings, modifications and configurations. Contact the Odin/Parallels - Support and create a "Plesk Per Incident Support" - ticket, so that experienced linux server administrators can help you.
Is it possible that it uses libmyodbc5a.so and no libmyodbc5.so?
 
@UFHH01 Hi,
I have found this "solution" but I receive a new error:
After installing MySQL 5.6 there is no more file /usr/lib64/libmyodbc5.so, because it's provided by mysql-connector-odbc-5.1.5r1144-7 which is not installed any more.

But there is /usr/lib64/libmyodbc5a.so and /usr/lib64/libmyodbc5w.so (from new 5.6 connectors).

I've replaced in /usr/lib64/libmyodbc5.so to /usr/lib64/libmyodbc5a.so in /etc/odbcinst.ini.

And as I can't get how to configure socket for this driver i've add symlink:
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

After that I've see that plesk mostly runs fine even with STRICT_TRANS_TABLES.

To keep link after server restart add following string in the beginning of /etc/init.d/mysqld:
if [ ! -L /tmp/mysql.sock ]; then ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock ; fi
but now in my plesk panel I receive:
Internal error: A table must have a primary key, but none was found
 
Hi Manuel_Caramia,

Internal error: A table must have a primary key, but none was found

you "played" once more too much, when upgrading/updating/configuring your standard Plesk installation, which results now in a APS database inconsistence ( which has nothing to to with the "mysql-connector-odbc"... just for your notice! ). Such issues should be investigated and repaired by experienced linux administrators and I just recommend to contact the Odin/Parallels - Support to solve the issue.
 
Manuel,
Your APS was really in a BIG mess. I had to rebuild it from scratch!
Otherwise, the error no-longer shows.
 
Back
Top