为什么我不能在存储过程中使用mysqldump命令?

时间:2013-12-28 19:17:47

标签: mysql stored-procedures crontab user-defined-functions stored-functions

我想这样做:

  delimiter //
  create procedure backup(IN filepath varchar(100),IN password varchar(100))
  deterministic
  begin
  set @db=database();     
  mysqldump -u current_user() -ppassword  @db >filepath; #This line, I think is dangerous
  end //

然后从一个事件我每天都会叫它一次。 我可以这样做吗?如果没有这种方式那么存储过程或函数的其他方式是什么?

1 个答案:

答案 0 :(得分:0)

首先,在存储过程中,您只能编写SQL指令。 Mysqldump是一个shell命令。 另外,我认为你可以在有功能的情况下运行mysqldump。在这种情况下,您的商店程序。如果可能的话,你肯定会有死锁。 最后,如果可能的话,这是一个严重的安全漏洞。