2015-05-14 59 views
0

我試圖導入以下.sql文件,包含:的phpMyAdmin不能讓我導入.sql文件

CREATE TABLE IF NOT EXISTS `login`.`users` (
`user_id` INT(11) NOT NULL AUTO_INCREMENT COMMENT 'auto incrementing user_id of each user, unique index', 
`user_name` VARCHAR(64) COLLATE utf8_unicode_ci NOT NULL COMMENT 'user''s name, unique', 
`user_password_hash` VARCHAR(255) COLLATE utf8_unicode_ci NOT NULL COMMENT 'user''s password in salted and hashed format', 
`user_email` VARCHAR(64) COLLATE utf8_unicode_ci NOT NULL COMMENT 'user''s email, unique', 
PRIMARY KEY ( `user_id`) , 
UNIQUE KEY `user_name` ( `user_name`) , 
UNIQUE KEY `user_email` ( `user_email`) 
) ENGINE = INNODB DEFAULT CHARSET = utf8 COLLATE = utf8_unicode_ci COMMENT = 'user data'; 

,但它給我的錯誤

#1142 - CREATE command denied to user ''@'localhost' for table 'users' 

這裏有什麼問題,我該如何解決這個問題?

+0

您的用戶可能缺少必要的權限。 – tftd

+0

@tftd所以沒有辦法解決這個問題,而不是聯繫我的主機? –

+0

您可以嘗試導出SQL而不創建表格,即簡單的數據導出。需要採取預防措施,防止重複條目,但是如果您然後在具有先前數據的舊版數據庫上運行SQL,則可以使用它 –

回答

1

這可能有幫助。

轉到phpMyAdmin -> users,選擇要更改的用戶並授予所有權限。

+0

該選項不存在。這是否意味着我不允許更改權限? –

+0

好的,然後嘗試在您的主機控制面板中找到您的mySQL用戶。哪個是您的主機提供商? – Makis

+0

hostfree.nl是我的託管服務提供商。 - 我正在測試那些文件,當它們沒有bug時,我將它們上傳到非自由域。 –

0

正如其他人所說的,您似乎缺乏在login數據庫中創建表的權限。鑑於引用用戶'@'localhost'的錯誤消息,這幾乎肯定是因爲您沒有以您的實際用戶身份登錄,而是匿名用戶。根據主機提供的內容檢查您的用戶名和密碼,嘗試通過命令行客戶端登錄(如果可用),並注意您的主機和連接類型。

您通過套接字連接,這意味着您的用戶帳戶必須具有主機'localhost'。如果你的用戶只有主機'%',那麼你必須向你的主機請求'localhost'特權,或者配置phpMyAdmin通過TCP/IP進行連接,這是由於MySQL處理傳入連接的方式和通配符特權。