vixon

Active Member
Sep 23, 2009
32
0
56
Estonia
cPanel Access Level
Root Administrator
Hello,

After upgrading php and mysql to the latest versions Tailwatchd service keeps failing.

Any help will be highly appreciated.

tailwatchd_log:

[2011-05-10 15:35:02 +0300] [Cpanel::TailWatch] [INFO] Restored /var/log/exim_mainlog (size:3522407) to 8540 (requested 8540)
[2011-05-10 15:35:04 +0300] [Cpanel::TailWatch] [INFO] Caught up /var/log/maillog to 2388580
[2011-05-10 15:35:04 +0300] [Cpanel::TailWatch] [INFO] Reading back thirty lines of /var/log/maillog starting at 2372196
[2011-05-10 15:35:04 +0300] [Cpanel::TailWatch] [INFO] Restoring /var/log/maillog to catch up position 2388580
[2011-05-10 15:35:04 +0300] [Cpanel::TailWatch] [INFO] Restored /var/log/maillog to position 2388580
install_driver(mysql) failed: Can't load '/usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/DBD/mysql/mysql.so' for module DBD::mysql: /usr/lib64/libmysqlclient.so.15: version `libmysqlclient_15' not found (required by /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/DBD/mysql/mysql.so) at /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/XSLoader.pm line 70.
at /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/DBD/mysql.pm line 14
Compilation failed in require at (eval 11) line 3.
Perhaps a required shared library or dll isn't installed where expected
at /usr/local/cpanel/Cpanel/TailWatch/Eximstats.pm line 252
 

JaredR.

Well-Known Member
Feb 25, 2010
1,834
24
143
Houston, TX
cPanel Access Level
Root Administrator
DBD::mysql is a Perl module that needs to be compiled against the version of MySQL that is installed on the server. Since you updated MySQL, the version of DBD::mysql that is installed no longer matches the current version of MySQL. To fix this, simply reinstall DBD::mysql:

Code:
# /scripts/perlinstaller --force DBD::mysql
This should fix the problem. If it does not, please submit a ticket so that we may log into the server and investigate directly.
 

spritorox

Member
May 28, 2010
7
0
51
DBD::mysql is a Perl module that needs to be compiled against the version of MySQL that is installed on the server. Since you updated MySQL, the version of DBD::mysql that is installed no longer matches the current version of MySQL. To fix this, simply reinstall DBD::mysql:

Code:
# /scripts/perlinstaller --force DBD::mysql
This should fix the problem. If it does not, please submit a ticket so that we may log into the server and investigate directly.
if i reinstall dbd, I lose all existing db?
 

JaredR.

Well-Known Member
Feb 25, 2010
1,834
24
143
Houston, TX
cPanel Access Level
Root Administrator
DBD::mysql is a Perl module. A Perl module is a set of functions that are made available to Perl scripts. DBD::mysql is what lets cPanel Perl scripts, like eximstats/tailwatchd, connect to, get data from, and send data to, MySQL.

There is no danger of data loss from reinstalling DBD::mysql. DBD::mysql is only a Perl module, a set of software routines, that lets Perl scripts "talk to" MySQL. It has nothing to do with, and will not affect, your actual MySQL databases.
 

mycuteoo

Active Member
Oct 24, 2006
25
0
151
Sir~

I running "# /scripts/perlinstaller --force DBD::mysql" and got some messages like below...

---------------------------------------------------

Can't exec "mysql_config": No such file or directory at Makefile.PL line 82.

Cannot find the file 'mysql_config'! Your execution PATH doesn't seem
not contain the path to mysql_config. Resorting to guessed values!
Can't exec "mysql_config": No such file or directory at Makefile.PL line 464.
Can't find mysql_config. Use --mysql_config option to specify where mysql_config is located
Can't exec "mysql_config": No such file or directory at Makefile.PL line 464.
Can't find mysql_config. Use --mysql_config option to specify where mysql_config is located
Can't exec "mysql_config": No such file or directory at Makefile.PL line 464.
Can't find mysql_config. Use --mysql_config option to specify where mysql_config is located


PLEASE NOTE:

For 'make test' to run properly, you must ensure that the
database user 'root' can connect to your MySQL server
and has the proper privileges that these tests require such
as 'drop table', 'create table', 'drop procedure', 'create procedure'
as well as others.

mysql> grant all privileges on test.* to 'root'@'localhost' identified by 's3kr1 t';

You can also optionally set the user to run 'make test' with:

perl Makefile.PL --testuser=username

Can't exec "mysql_config": No such file or directory at Makefile.PL line 464.
Can't find mysql_config. Use --mysql_config option to specify where mysql_config is located
Can't exec "mysql_config": No such file or directory at Makefile.PL line 464.
Can't find mysql_config. Use --mysql_config option to specify where mysql_config is located
Can't exec "mysql_config": No such file or directory at Makefile.PL line 464.
Can't find mysql_config. Use --mysql_config option to specify where mysql_config is located
Failed to determine directory of mysql.h. Use

perl Makefile.PL --cflags=-I<dir>

to set this directory. For details see the INSTALL.html file,
section "C Compiler flags" or type

perl Makefile.PL --help
No 'Makefile' createdCPAN: YAML loaded ok (v0.73)
CAPTTOFU/DBD-mysql-4.019.tar.gz
/usr/bin/perl Makefile.PL -- NOT OK
Running make install
Make had some problems, won't install
Could not read metadata file. Falling back to other methods to determine prerequ isites
perlmod--Install done

-------------------------------------------------

It's still not running...
Please help me to check it.
 

cPanelTristan

Quality Assurance Analyst
Staff member
Oct 2, 2010
7,607
40
248
somewhere over the rainbow
cPanel Access Level
Root Administrator
Hello,

If this is a DNS only machine without MySQL installed, you will need to install MySQL:

Code:
/scripts/mysqlup --force
Then re-run the "/scripts/perlinstaller --force DBD::mysql" command. If you have MySQL disabled on the machine, please re-enable it by moving the file that was set to disable it:

Code:
mv /etc/mysqldisable /etc/mysqldisable.bak
Thanks!