2012-07-19 47 views
2

最近,我刪除了一個分配給我的前老闆的MySQL用戶帳戶。然後,像他做不工作,給下面的錯誤表中刪除記錄一些數據庫的功能:MySQL中的錯誤1449 - 替代解決方案?

#1449 - There is no '*username*'@'localhost' registered 

現在,我添加了相同的名稱(和DIFF密碼。)的新用戶,它工作正常沒有錯誤。但是,有沒有辦法解決這個沒有佔位符的用戶帳戶?

+0

你是怎麼刪除他的用戶的?從我記憶中,有多種方式可以刪除MySQL中的用戶,並不是所有的方法都是同樣有效的。 – 2012-07-19 17:50:36

+0

直接從mysql表中的「users」表通過phpMyAdmin。有沒有更好的辦法? – 2012-07-19 18:23:12

+1

如果我沒有記錯的話,我通常會使用'DROP USER'。 http://dev.mysql.com/doc/refman/5.0/en/drop-user.html – 2012-07-19 19:05:52

回答

0

我必須爲受影響的表格刪除並重新添加triggers。 (我用phpMyAdmin來做到這一點)。

5

嘗試更換DEFINER功能

首先登錄MySQL作爲[email protected]

然後,替換[email protected]作爲DEFINER

UPDATE mysql.proc SET definer='[email protected]' 
WHERE definer = '*username*@localhost'; 

事實上,你可以看一下所有類似的定義者:

SELECT COUNT(1) DefinerCount,definer,type 
FROM mysql.proc GROUP BY definer,type; 

這將顯示每個用戶擁有多少個功能和程序。如果其他報告的DEFINER不再存在或無效,可以讓[email protected]繼承它們。

試試吧!

+0

查詢工作,但沒有行受到影響。我以root身份登錄(並且明顯地用真正的用戶名替換了***用戶名:))。有任何想法嗎? – 2012-07-20 18:02:09