我有一个通过 SQLYog 连接的 MySQL 数据库。当我连接时,我的家庭 IP 地址附加到我的用户名。例如:xxxx_ratesadmin@123.456.789
这会创建存储过程或函数等对象的定义器,我只能在从该 IP 地址连接时更改这些对象。
前段时间我被迫切换 ISP 并在这发生之前获得了一个新的 IP 地址我备份了数据库所以我可以将定义器更改为新的 IP 但我错过了一些我现在需要更改但不能更改的存储过程和函数,只会收到错误消息“无法检索信息。请检查您的许可。”我也无法通过 phpmyadmin 访问它们,因为这些对象旁边没有编辑按钮。
我认为我可以通过 information_schema 中的例程表来完成此操作,但显然没有权限对其进行更改,并且在 phpmyadmin 中查看该表时没有编辑选项。
如果我至少可以复制例程的内容,这样我就可以重新创建对象,但对于具有旧定义器的任何对象,它们只显示为空白字段,这还不错。
如果有人能给我任何指导,将不胜感激! :)
亲切的问候
迈克
最佳答案
这个问题现在已经解决了。我与我的托管公司进行了交谈,他们能够使用主根帐户登录并为我更改所有对象的定义器。真的应该首先这样做!
关于mysql - 更改 IP 地址后由于 DEFINER 错误无法更改 MySQL 功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25040724/