【问题标题】:MySql stored procedure call errorMySql存储过程调用错误
【发布时间】:2012-12-11 20:21:40
【问题描述】:

从 phpMyAdmin 调用 MySql 存储过程时出现以下错误

#1045 - Access denied for user 'root'@'localhost' (using password: NO) 

我正在使用

call get_ledger_name(2007);

调用过程

我已经尝试更改root密码,创建一个新用户,但错误仍然存​​在。

【问题讨论】:

  • 您需要确保 (a) 用户名​​/密码正确且 (b) 该用户具有对数据库和表的必要访问权限。但是如果 root 并且没有密码连接,我会非常担心你的网络安全!
  • @Andrew : 我已授予所有权限
  • @NitinKabra 你确定你输入的用户名和密码正确吗?
  • 好的,ta。建议您添加(到问题中)您正在使用的 EXACT 命令
  • @JW。是的,用户名和密码是正确的..

标签: mysql sql stored-procedures phpmyadmin


【解决方案1】:

其实你可以重设root密码。

但请记住,不建议使用没有密码的root 帐户。

【讨论】:

    【解决方案2】:

    使用 DEFINER=root@localhost 更改存储过程,然后调用此 SP。它会运行。

    试试这个:

    DELIMITER $$
    
    DROP PROCEDURE IF EXISTS `sp_test`$$
    
    CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_test`()
    BEGIN
    /* Your Code Snippet */
    /* Your Code Snippet */
    /* Your Code Snippet */
    END$$
    
    DELIMITER ;
    

    【讨论】:

    • 你改过密码没问题,但是这个问题不需要重设密码。
    猜你喜欢
    • 2016-02-08
    • 2023-03-23
    • 1970-01-01
    • 2018-02-09
    • 2018-12-29
    • 2019-11-05
    • 2011-05-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多