mysql - 与 MySQL 一起工作多年的 Perl 脚本在升级到 MariaDB 后不再工作
问题描述
我创建了这个 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
它特定于服务器的设置,可能在更新期间发生了变化。谢谢!
推荐阅读
- aws-amplify - 如何在 aws-amplify 中对列表查询中的字段进行排序?
- sql - 使用光标输入时包未执行
- svelte - 如何坚持苗条的商店
- python - 如何在 Keras 中输出多维数组?
- java - 无法让 Pattern.matches(regExExpression) 工作?
- swiftui - Xcode 11 - SwiftUI 预览暗模式
- r - 如何在 R 中取消缩放分组数据?
- c - 如何修复 C 中无法访问的代码?我无法打印用户的输入
- android-studio - 是否有任何选项可以将我的 Android 模拟器固定和停靠到 Android Studio?
- java - 为什么 HttpContext 接受来自所有以指定路径开头的 URI 的请求?