【发布时间】:2015-04-22 22:00:05
【问题描述】:
我正在使用在 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 用户登录并选择了已创建的数据库之后)。
错误 1126 (HY000): 无法打开共享库 'lib_mysqludf_sys.so' (错误号:193)
如何解决这个错误?
C:\WINDOWS\system32 下是否需要msvcp110.dll?它在那里不可用。但是,文件msvcp100.dll 位于C:\WINDOWS\system32 下。
【问题讨论】:
-
'lib_mysqludf_sys.so' 是一个 Linux 共享库。对于 Windows,您需要将其编译为 Windows .dll。另外:Msvcp110.dll 或 msvcp100.dll 是两个不同的文件,用于 Microsoft Visual C 运行时的两个不同版本(分别为 MSVC 10.0 和 11.0)。我不知道他们与让 MySQL UDF 插件正常工作有什么关系。
-
如何做到这一点?这超出了我的范围,因为我不积极关心后端。
-
@Tiny 您分享的链接还包括 c 源代码。您需要将 c 源代码编译为 dll(Windows 版本的 linux .so 文件)。操作说明在这里:dev.mysql.com/doc/refman/5.7/en/udf-compiling.html 它有 linux 和 windows 说明,windows 大约在页面下方的 1/3