Php Mysql存储过程:定义器=`root`@`%`在本地主机中不工作
我在这个问题上搜索了很多,但找不到解决办法 我正在使用存储过程:Php Mysql存储过程:定义器=`root`@`%`在本地主机中不工作,php,mysql,stored-procedures,Php,Mysql,Stored Procedures,我在这个问题上搜索了很多,但找不到解决办法 我正在使用存储过程: DELIMITER $$ CREATE DEFINER=`root`@`%` PROCEDURE `GetImages`( in search Varchar(80) ) BEGIN select image_path from check_images where checkNumber=search; END 它在localhost中不工作,并出现以下错误: 错误号码:1449 指定为定义者('root'@'')的用
DELIMITER $$
CREATE DEFINER=`root`@`%` PROCEDURE `GetImages`(
in search Varchar(80)
)
BEGIN
select
image_path
from check_images
where checkNumber=search;
END
它在localhost中不工作,并出现以下错误:
错误号码:1449
指定为定义者('root'@'')的用户不存在
但是如果我用“localhost”('root'@'localhost')替换%sign,那么一切都会正常工作。此外,我不允许更改存储过程。因此,请告诉我如何克服这个问题的最佳解决方案
我将感谢任何帮助
谢谢消息很清楚,用户不存在 在MySQL中,用户帐户由用户名和主机定义组件组成
请将定义者更改为
'root'@'localhost'
,或者为'root'@%
创建一个用户。非常感谢您的快速回复。我想选择第二个选项,创建用户。你能给我一个提示,我可以为“root”@“%”创建用户吗?太好了,你帮了我很多忙,因为你,我才修复了它。多谢各位much@user3043360很乐意帮忙。我应该注意到,通常在本地主机之外的任何位置设置根访问权限都会被视为安全漏洞。实际上,在大多数情况下,应用程序根本不应该使用root
,而应该定义特定于应用程序的用户。