Problem with upgrade 5.6 to 5.7
My server company told me that I needed to upgrade MySQL 5.6 to 5.7.
My site is a small auction for the commercial fishing industry. The main program for the site is written in Perl and operates in cgi-bin. In the beginning I added code to store sales data in a MySQL database. The site has been up and running since 2011. No problems until the upgrade.
The following is the code used to insert sales records in the database:
##### connect to database
my $dbh = DBI->connect("DBI:mysql:$db:$server", $userid, $passwd);
##### prepare and execute query
my $query = "INSERT INTO closedauctions (seller, sellerusername, category, title, bids, pounds, description, winningbid, price_per_pound, highbidder, buyerusername, month, day, year, itemnum, filename) VALUES(\"$sellername\",\"$sellerusername\",\"$quota\", \"$category\", 1, \"$pounds\", \"$desc\", \"$buyit\", \"$price_per_pound\", \"$buyername\",\"$buyerusername\", \"$month\", \"$day\", \"$year\", \"$form{'ITEM'}\", \"$cat\")";
my $sth = $dbh->prepare($query) || die "Could not prepare SQL statement ... maybe invalid?";
$sth->execute() || die "Could not execute SQL statement ... maybe invalid?";
##### disconnect from database
$dbh->disconnect;
The server company told me the upgrade was complete and to test it out. I did and received the following error:Software error:
[Sat Sep 7 22:51:26 2019] auction.pl: install_driver(mysql) failed: Can't load '/home/jeffer36/perl5/lib/perl5/x86_64-linux/auto/DBD/mysql/mysql.so' for module DBD::mysql: libmysqlclient.so.18: cannot open shared object file: No such file or directory at /usr/local/lib/perl5/5.8.8/x86_64-linux/DynaLoader.pm line 224, <BUYERFILE> line 1715.
[Sat Sep 7 22:51:26 2019] auction.pl: at (eval 15) line 3.
[Sat Sep 7 22:51:26 2019] auction.pl: Compilation failed in require at (eval 15) line 3, <BUYERFILE> line 1715.
[Sat Sep 7 22:51:26 2019] auction.pl: Perhaps a required shared library or dll isn't installed where expected
[Sat Sep 7 22:51:26 2019] auction.pl: at ../auction/buyit.pl line 285.
Compilation failed in require at auction.pl line 21.
I reported the error to the server company and was told:
"Upon further review it appears that the automated process that updates MySql for you did not properly install all MySql modules as expected. We have force installed those modules for you at this time, however without replication steps we were unable to verify that. Could you please check to see that things are working as expected?"
I did another test and received the following error:
Software error:
install_driver(mysql) failed: Can't load '/home/jeffer36/perl5/lib/perl5/x86_64-linux/auto/DBD/mysql/mysql.so' for module DBD::mysql: libmysqlclient.so.18: cannot open shared object file: No such file or directory at /usr/local/lib/perl5/5.8.8/x86_64-linux/DynaLoader.pm line 224, <BUYERFILE> line 18.
at (eval 15) line 3.
Compilation failed in require at (eval 15) line 3, <BUYERFILE> line 18.
Perhaps a required shared library or dll isn't installed where expected
at ../auction/buyit.pl line 285.
I reported this error to the server company and now I am being told:
"It does not seem likely that any missing modules in MySQL itself would play in to this, as the error presented indicates that the issue is something cannot access the following file:
/home/jeffer36/perl5/lib/perl5/x86_64-linux/auto/DBD/mysql/mysql.so
However that file does exist:
root@mail [/]# ls -lah /home/jeffer36/perl5/lib/perl5/x86_64-linux/auto/DBD/mysql/mysql.so
-r-xr-xr-x 1 jeffer36 jeffer36 299K May 5 2016 /home/jeffer36/perl5/lib/perl5/x86_64-linux/auto/DBD/mysql/mysql.so*
MySQL 5.6 and MySQL 5.7 aren't terribly different in terms of core functionality, and the files changed during the upgrade process wouldn't have touched user files or (to my knowledge) Perl files on the system."
They are at a loss and so am I. Any suggestions.