2013-05-29 60 views
1

我正在學習如何使用查詢創建用戶。我發現以下是在我的本地主機上工作,但我不確定百分號(%)的含義。它創建用戶test_user%作爲主機「主機」,如phpMyAdmin中顯示的,而不是像我爲其他用戶的localhost主機一樣。創建一個新的MySQL用戶

CREATE USER 'test_user'@'%' IDENTIFIED BY 'password'; 

而且,我會怎麼做錯在給該用戶分配權限?

該好好嘗試一下工作:

GRANT SELECT, UPDATE ON test_db.* TO 'test_user'@'localhost'; 

這工作:

GRANT SELECT, UPDATE ON *.* TO 'test_user'@'localhost'; 
+0

[創建MySQL用戶時使用%作爲主機]可能的重複(http://stackoverflow.com/questions/10823854/using-for-host-when-creating-a-mysql-user) – hjpotter92

回答

2

在MySQL中%字符的字符串通配符。將%作爲用戶的主機名允許他們從任何主機連接。

你可以在這裏找到更多關於它:MySQL account name reference

1

%是MySQL的通配符,正則表達式和其他幾個地方類似*

這裏,它決定test_user可以從任何IP連接。

1

據我所知,%符號是SQL中的通配符。所以這意味着test_user的主機能夠從任何主機/ ip進行連接。