【问题标题】:DBVisualizer not showing SP source codeDBVisualizer 不显示 SP 源代码
【发布时间】:2012-05-07 14:01:15
【问题描述】:

我正在对我的共享主机数据库使用 DBVisualizer。

如果我从不同的 IP 地址登录,我无法看到实际的 SP 代码,而不是我创建 SP 的那个。

有什么想法吗?我在 CPanel 中找不到任何可能改变这种行为的选项。

谢谢

【问题讨论】:

    标签: mysql stored-procedures hosting ip dbvisualizer


    【解决方案1】:

    存储过程的“定义者”是什么?您的用户帐户可能没有来自第二个 IP 地址的权限。如果您没有“SUPER”权限,则不能为“DEFINER”指定任何其他值,而不是您当前的用户帐户,如果您从另一个 IP 地址登录,则不能保证它使用的是同一个帐户.

    所以尝试授予存储过程更多的权限。

    此外,您可能希望查看 MySQL 的“SQL SECURITY INVOKER”选项。 http://dev.mysql.com/doc/refman/5.0/en/stored-programs-security.html

    【讨论】:

    • 你是对的,DEFINER值包含了之前的IP地址。谢谢。
    • 我还是没有更新DEFINER的权限。
    • 您能否使用更多通用用户名(例如 DEFINER='user'@'%')删除并重新创建存储过程?
    • 我也有同样的想法,但我真的卡住了。我没有最新更改的备份,因此没有代码。我已联系托管服务的支持团队为我更新 mysql.proc 表,但他们似乎没有得到实际问题。
    • 这个线程stackoverflow.com/questions/3206820/… 给出了示例,我可以在本地执行此操作,但由于它是共享主机,因此我无法在服务器上执行查询。更新mysql.proc p SET definer = 'user@%' WHERE definer='root@%'
    猜你喜欢
    • 2016-08-26
    • 2015-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-24
    • 2011-07-13
    • 2019-03-03
    • 2010-10-18
    相关资源
    最近更新 更多