从 mysql 调用外部程序

Call external program from mysql

如何从 mysql 调用外部程序?

我完全是初学者,在 Linux Mint 20 上,我创建了一个包含我所有视频文件的数据库,视频的路径都列在 table 中。

我可以使用 Bash 访问数据库:

mysql -u root -proot -e "use collection; select path from videos where path Like '%foo%' or path Like '%bar%'"

要搜索我想要的内容,但现在我想将所选视频通过管道传输到 MPV/VLC,随便什么。

除了我是以 root 身份执行此操作之外,我是否以错误的方式进行此操作?

我只想在终端中执行快速搜索,然后启动视频。

非常感谢大家。

如果我没理解错的话。您想在数据库中查询特定类型的文件或路径,然后使用查询结果打开文件吗?

您无法从 MySQL 打开该程序,但您可以从 bash 打开它。

弄清楚 bash 命令是什么来打开那个程序,并在 bash 中循环使用你对 运行 的查询输出来打开,一个接一个,您从查询中获得的结果。

或者,您可以将结果输出到一个临时文件并使用 bash:

从中读取

mysql -user -pass -e "YOUR QUERY" > /tmp/output.txt

如果您可以在 output.txt 文件中获得正确的输出,我会考虑在 bash 中使用循环读取该文件。类似于:

while IFS= read -r line
do
    mpv "$line"
done < output.txt