ERROR 1126(HY000):无法打开共享库'lib_mysqludf_sys.so'(错误号:193)

时间:2015-02-21 04:57:27

标签: mysql mysql-5.6 mysql-udf

我正在使用在32位Microsoft Windows XP(专业版2002 Service Pack 3)上运行的MySQL 5.6.11。我有兴趣安装MySQL sys_exec UDF。

以下命令

mysql> SHOW VARIABLES LIKE 'plugin_dir';

显示以下插件位置。

+---------------+-----------------------------------------------------+
| Variable_name | Value                                               |
+---------------+-----------------------------------------------------+
| plugin_dir    | C:\Program Files\MySQL\MySQL Server 5.6\lib\plugin\ |
+---------------+-----------------------------------------------------+

我粘贴的位置lib_mysqludf_sys.so。然后运行以下命令,

CREATE FUNCTION sys_exec RETURNS INT SONAME 'lib_mysqludf_sys.so';
来自MySQL命令行的

导致以下错误(在登录root用户并且已经选择了已创建的数据库之后)。

  

ERROR 1126(HY000):无法打开共享库'lib_mysqludf_sys.so'   (错误:193)

如何解决此错误?

msvcp110.dll下需要C:\WINDOWS\system32吗?它不在那里。但是,文件msvcp100.dll位于C:\WINDOWS\system32

2 个答案:

答案 0 :(得分:1)

您必须创建.dll文件,而不是创建.so文件。 .so文件用于Linux& .dll文件用于windows。

通过运行以下查询来检查Mysql服务器的操作系统。

显示'version_compile_os'等变量

在windows中为相同的os版本创建一个dll文件。

要更改VS 2010中的平台步骤,请执行以下操作。

右键点击项目>>单击配置管理器(右上侧)>>平台(如果Mysql服务器是win32然后选择Win32&如果MySQL服务器是win64,那么在这里选择x64或win64。)

现在正确创建一个dll文件,就像你提到的那样。我希望它能正常运作。

答案 1 :(得分:0)

看起来像make.exe,您正在使用cygwin32 bit运行。如果您使用的是Netbeans,建议您检查“工具集合设置”(“工具”->“选项”)。看看您是否使用mingw32-make.exe作为make命令。

MYSQL上进行编译有些痛苦,因为版本和操作系统之间存在许多移动参数。如果您想从头开始进行所有编译过程,可以使用以下存储库

https://github.com/esabilbulbul/mysql-udf-windows