mysql无法执行二进制文件可执行文件格式错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql无法执行二进制文件可执行文件格式错误相关的知识,希望对你有一定的参考价值。

mysql无法执行二进制文件可执行文件格式错误就是cannot execute binary file: Exec format error,可能情况有两种:
1.使用错误的命令,如gcc -c hello.c -o hello,这样得到的是.o文件,而不是可执行程序,此时使用./hello就会报上述错误!此时应改用gcc hello.c -o hello就可以啦!
2.如果不是上述错误,就可能是版本问题,如本来是32位操作系统,偏偏使用64位软件,此时需要的就是使用正确的软件版本!
参考技术A MySQL是一个关系型数据库管理系统,它只能处理SQL语句,而不能处理二进制文件可执行文件。因为MySQL不能识别二进制文件可执行文件的格式,所以无法执行它们。要在MySQL中执行二进制文件可执行文件,需要使用一些特定的函数,如MySQL的LOAD_FILE函数,它可以将二进制文件可执行文件加载到MySQL数据库中,然后可以使用MySQL的EXECUTE函数来执行它。 参考技术B MySQL是一种关系数据库管理系统,它不能直接执行二进制文件可执行文件,只能执行SQL语句。因此,如果要在MySQL中执行二进制文件可执行文件,需要使用外部程序,如Perl或PHP,将二进制文件可执行文件转换为SQL语句,然后再执行。 参考技术C MySQL是一个关系型数据库,它不支持执行二进制文件或可执行文件,原因是它只能处理数据库中的字符串数据,而二进制文件是不可理解的。为了解决这个问题,可以使用其他数据库管理系统,如Oracle或SQL Server,它们都可以直接调用可执行文件。

执行二进制文件时出现“exec格式错误”[重复]

【中文标题】执行二进制文件时出现“exec格式错误”[重复]【英文标题】:Getting "exec format error" while executing binary file [duplicate] 【发布时间】:2018-08-08 01:14:36 【问题描述】:
#include <stdio.h>
#include <stdlib.h>

int main()

    volatile int x;

    printf("without assignment %d", x);
    x = 100;
    printf("%d", x);


gcc -c -o volatandconstvolatile volatandconstvolatile.c

我得到了volatandconstvolatile 文件但是

-rw-rw-r--  1 naveenkumar naveenkumar      1600 Aug  8 05:12 volatandconstvolatile

然后我更改了权限chmod 777 volatandconstvolatile

然后./volatandconstvolatile

./volatandconstvolatile: cannot execute binary file: Exec format error
objdump volatandconstvolatile | grep "archit"
architecture: i386:x86-64, flags 0x00000011:

readelf -a -W  volatandconstvolatile

我知道volatile 用于从外部获取值。

为什么会出现这个错误?

【问题讨论】:

-c 选项告诉gcc 在不链接的情况下编译为目标文件。所以你有一个目标文件。省略该选项,它将起作用。 运行 file volatandconstvolatile /bin/sh 会显示文件类型之间的巨大差异。 @JerryJeremiah 不,-o 只是更改输出文件名。名称中缺少.o 不会使文件神奇地可执行。看我的回答。他们需要离开-c 更简单,只需让 Make 为您编译和链接:make volatandconstvolatile. @TobySpeight make 不是万灵药。您仍然需要知道正确的编译器命令才能放入 Makefile。 【参考方案1】:
gcc -c -o volatandconstvolatile volatandconstvolatile.c

这个编译命令行没有意义。

-c 表示“仅编译”并且不链接。但是您要保留 .o 后缀,这意味着您正在构建一个完整的可执行文件,这是错误的。

您可以像这样在一次调用 GCC 中构建您的完整应用程序,方法是省略 -c

gcc -o volatandconstvolatile volatandconstvolatile.c

请注意,LD 会自动设置输出二进制文件的可执行位。您必须手动 chmod 文件这一事实应该是有问题的线索。

【讨论】:

以上是关于mysql无法执行二进制文件可执行文件格式错误的主要内容,如果未能解决你的问题,请参考以下文章

bin/python3:无法执行二进制文件:执行格式错误

使用 cygwin 的网络模拟器 2(ns2)给出错误:“无法在 cygwin 中执行二进制文件 exec 格式错误”

Valgrind 错误 - 无法执行二进制文件

可执行文件格式elf和bin

vs2010指定的文件格式无法识别或为不支持的二进制

ios 应用商店错误:被分析的二进制文件必须是可执行文件