我现在接受一个别人的网站,php+mysql,负责维护。数据库里面肯定有自定义函数,但是我用show create function func_name\G去查看的时候,显示的函数代码那里是null。我好像没有权限查看自定义函数的源代码。请问,mysql是有这样的机制来限制不同权限的用户查看自定义函数代码吗?谢谢。
是在当前库,我用 show create function FormatCatalogEntry; 查看,能找到这个函数,但是看不到源代码 +--------------------+----------+-----------------+ -> | Function | sql_mode | Create Function | -> +--------------------+----------+-----------------+ -> | FormatCatalogEntry | | NULL | -> +--------------------+----------+-----------------+ -> 1 row in set (0.17 sec)用show create function func_name\G 这个也不行。奇怪了。这个函数肯定存在,一定有代码的
SHOW CREATE FUNCTION test.func_name\G前的数据名最好也写一下。怀疑你当前的默认数据库不是使用数据库。特别是当你用root进去的时候。
老大, 我用mysql> show create function picasso.FormatCatalogEntry; +--------------------+----------+-----------------+ | Function | sql_mode | Create Function | +--------------------+----------+-----------------+ | FormatCatalogEntry | | NULL | +--------------------+----------+-----------------+ 1 row in set (0.06 sec)picasso是数据库名。 这个函数是别人创建的,我们俩的登陆名不一样。是不是因为登陆用户名不一样,别人在picasso数据库下创建的函数,我就看不到。
-> | Function | sql_mode | Create Function |
-> +--------------------+----------+-----------------+
-> | FormatCatalogEntry | | NULL |
-> +--------------------+----------+-----------------+
-> 1 row in set (0.17 sec)用show create function func_name\G 这个也不行。奇怪了。这个函数肯定存在,一定有代码的
+--------------------+----------+-----------------+
| Function | sql_mode | Create Function |
+--------------------+----------+-----------------+
| FormatCatalogEntry | | NULL |
+--------------------+----------+-----------------+
1 row in set (0.06 sec)picasso是数据库名。 这个函数是别人创建的,我们俩的登陆名不一样。是不是因为登陆用户名不一样,别人在picasso数据库下创建的函数,我就看不到。