Google cloud platform 如何删除导入的sql过程

Google cloud platform 如何删除导入的sql过程,google-cloud-platform,google-cloud-sql,Google Cloud Platform,Google Cloud Sql,我有一个导入的SQL过程要删除。其语法以: DELIMITER ;; CREATE DEFINER=`cloudsqlimport`@`127.0.0.1` PROCEDURE `someProc`(IN cui_in CHAR(8), IN kind CHAR(20)) ... 尝试使用root用户删除它时,请使用: DROP PROCEDURE someProc 我得到: Access denied; you need (at least one of) the

我有一个导入的SQL过程要删除。其语法以:

    DELIMITER ;;
    CREATE DEFINER=`cloudsqlimport`@`127.0.0.1` PROCEDURE `someProc`(IN cui_in CHAR(8), IN kind CHAR(20))
     ...
尝试使用root用户删除它时,请使用:

DROP PROCEDURE someProc
我得到:

Access denied; you need (at least one of) the SYSTEM_USER privilege(s) for this operation

如何删除此过程?

删除过程定义器.someproc; 语法:
丢弃程序

实际上是一个过程someProc;这一定有用。我已经尝试过了,我创建了一个SP,然后使用该命令将其删除,如下图所示。那么,您是从哪里开始尝试执行此任务的?我建议您使用Cloud Shell,因为我在那里执行此操作没有任何问题

更新

看来你的评论是对的。使用导入SP时cloudsqlimport@127.0.0.1在MySQL中,无法使用命令删除过程删除它。不过,作为一种解决方法,您可以使用以下命令创建sql文件

USE `my-database`;

DROP PROCEDURE IF EXISTS someProc;

DELIMITER ;
创建此类文件后,只需将其导入到云SQL数据库,SP就会被删除


作为建议,我想建议您不要使用cloudsqlimport@127.0.0.1我认为最好的选择是使用root@%

I get PROCEDURE DEFINER.someproc不存在我认为这里的主要问题是SP不是由root用户创建的。因为它是导入的,它是由cloudsqlimport用户创建的。我已经更新了我的答案,请告诉我它是否适合您