2013-05-27 12 views
0

我剛剛在Debian 7.0.0上安裝了MySQL。當試圖更改root用戶名時,表'DBName.user'不存在

我成功地通過數據庫從使用利用

mysql -u root -p DBName <mysql27May13.dump 

我然後成功地登錄到MySQL的另一個系統

mysql -u root -p 

我然後成功選擇使用數據庫導入

use DBName; 

另外

show tables; 

顯示了我導入的表格。但是,當我試圖改變使用

update user set user='SomeNewName' where user='root'; 

我得到錯誤信息的root用戶名

ERROR 1146 (42S02): Table 'DBName.user' doesn't exist 
+2

但是,當你運行'show tables'時,表'DBName'是否存在? –

+0

編號DBName是數據庫的名稱。我是否需要創建一個名稱爲DBName.user的表?我應該把什麼屬性放在桌子上?謝謝,彼得。 – OtagoHarbour

+0

你想更新實際的mysql用戶名嗎? –

回答

1

在這種情況下,您要更新的表格(user)不在您的數據庫中(我假設這裏是DBName)。您需要的數據庫實際上簡稱爲mysql

您可以解決這幾個方面:

  1. mysql.user而不是user運行您的更新。
  2. use mysql進行更新之前。
  3. 請使用提供的RENAME關鍵字來完成這項工作,正如@ExplosionPills所示。

我建議總是採取方法#3的用戶管理,除非你確定知道你正在嘗試做一些內置的命令無法處理。機會是,你不是 - 如果你是,你會知道它。

相關問題