gpt4 book ai didi

MySQL 隐藏了我的例程(存储过程)

转载 作者:行者123 更新时间:2023-11-29 17:52:08 25 4
gpt4 key购买 nike

在 MySQL 中创建几个例程后,我回到数据库,发现它们丢失了,但仍然显示名称。

phpMyAdmin Screenshot

它说我可能缺乏编辑它们所需的权限,但事实并非如此。我使用创建它们的同一帐户登录,这是一个管理员帐户。

为了查看它们是否在 information_schema 中,我运行了以下命令:

选择例程_定义
来自 information_schema.routines
WHEREroutine_schema = '数据库名称';

...但它显示两个空条目。

phpMyAdmin screenshot

我的日常习惯完全消失了吗?我在创建它们时做错了什么吗?

我使用 MySQL 多年,以前从未发生过这种情况。

编辑:我刚刚调用了例程,它们确实起作用了……这意味着它们返回了数据。我唯一的问题是我无法查看或编辑代码。

最佳答案

In Motion Hosting 做出了回应并做出了解释。

Unfortunately due to the recent changes by cPanel, use of MySQL routine is not something that is officially supported on a shared hosting plan. While it may be possible to manually create it through a custom phpMyAdmin install via your cPanel credential, the interface provided by cPanel will no longer work to modify routines. If you need support for routines, you will need to upgrade to a VPS or higher plan.

据我了解,MySQL 将例程的安全性设置为“DEFINER”,它通过您的登录名来识别您。一旦您注销并重新登录,该 ID 就会发生变化,从而隐藏您的例程代码。

同样,这些例程也不会出现在 MySQL 备份中。

关于MySQL 隐藏了我的例程(存储过程),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49226457/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com