Hi Bruce,
only some hints. It sounds to me like a shared object mess which may be possible after upgrading. If DBD::mysql ist installed via CentOS repository than you should find the package wit a rpm -q -a | grep -i mysql When you've found that package, you can do a rpm -q -l perl-DBD-MySQL where perl-DBD-MySQL is the found package above. Therein you should find the file which is the shared object to bind the mysql client library, e.g. /usr/lib64/perl5/vendor_perl/auto/DBD/mysql/mysql.so Now you can have a look into that shared object to see which names have to be resolved: objdump -T /usr/lib64/perl5/vendor_perl/auto/DBD/mysql/mysql.so In the output you can see external references to other shared libraries, especially these ones which are the building blocks of the mysql/mariadb driver. Then you have to look into your filesystem whether there are different incarnations of these so-Files. But on the distance without having CentOS8 under my fingers just a guess. Happy digging Andreas P.S.: Contraprove would be to install DBD::mysql into a local directory. cpanm (App::cpanminus) makes it simple. Put "use lib 'thatdirectory';" in front of a testscript and let DBI grab that version of the driver binding for you. Von: Bruce Johnson <john...@pharmacy.arizona.edu> Gesendet: Dienstag, 2. Juni 2020 19:56 An: dbi users <dbi-users@perl.org> Betreff: frustrating error DBD::mysql CentOS8 I’ve copied a working script from one server to another (upgrading a web application server from Cnetos6 to centos8) and I keep getting the error: [Tue Jun 02 10:29:32.289698 2020] [:error] [pid 3729:tid 140210163652352] DBD::mysql initialisation failed: Can't locate object method "driver" via package "DBD::mysql" at /usr/lib64/perl5/vendor_perl/DBI.pm line 827.\n\nPerhaps the capitalisation of DBD 'mysql' isn't right. at /home/allwebfiles/perl/badges/choose.pl line 54.\n Mysql (actually MariaDB) is installed and working. both DBI and DBD::MySQL were installed via the CentOS repositories. (perl-DBI perl-DBD-MySQL packages) DBI itself is functional since other DB methods are working Oracle, for example. This is the (working on the other server!) code to establish the database handle: my $dsn = "DBI:mysql:database=$dbname;host=$dbhost;port=$dbport" or die $DBI::errstr; my $dbh = DBI->connect($dsn, $dbuser, $dbpass,{'RaiseError' => 1}); Pretty standard stuff. I'm not sure why this is happening. It is NOT the error being reported... -- Bruce Johnson University of Arizona College of Pharmacy Information Technology Group Institutions do not have opinions, merely customs