我创建了此Perl脚本来自动更新一堆CMS安装。它已经工作了多年。现在尝试连接到每个数据库都失败了。在将所有数据库从MySQL 5.7更新到MariaDB 10.3之后,就会发生这种情况。它失败的那行很基本:
$dbh = DBI->connect($db_str, $user_str, $pass_str);
$ db_str在此行中构造:
$db_str = "DBI:mysql:" . $database . ":localhost";
如果显示数字,则必须是以下两件事之一:对于MariaDB,连接字符串必须不同,或者对于MariaDB,缺少Perl库。但是我是MariaDB的新手,所以我不知道。
发现问题:脚本顶部的Perl库的路径已更改。这个:
#!/usr/bin/perl
需要更改为:
#!/usr/local/cpanel/3rdparty/bin/perl
它特定于服务器的设置,在更新过程中可能已更改。谢谢!