linux - mysql - 新建用戶

新建用戶mysql

使用以下命令建立一個用戶名和密碼分別爲"myuser"和"mypassword"的用戶,localhost在User表裏是Host字段(主機)。sql

mysql> CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword';數據庫

註釋:一旦用戶被建立後,包括加密的密碼、權限和資源限制在內的全部賬號細節都會被存儲在一個名爲user的表中,這個表則存在於mysql這個特殊的數據庫裏ide

 

賦予MySQL用戶權限

一個新建的MySQL用戶沒有任何訪問權限,這就意味着你不能在MySQL數據庫中進行任何操做。你得賦予用戶必要的權限。如下是一些可用的權限:加密

ALL: 全部可用的權限spa

CREATE: 建立庫、表和索引索引

LOCK_TABLES: 鎖定表資源

ALTER: 修改表io

DELETE: 刪除表table

INSERT: 插入表或列

SELECT: 檢索表或列的數據

CREATE_VIEW: 建立視圖

SHOW_DATABASES: 列出數據庫

DROP: 刪除庫、表和視圖

運行如下命令賦予"myuser"用戶特定權限

 

mysql> GRANT <privileges> ON <database>.<table> TO 'myuser'@'localhost';

 

以上命令中,<privileges> 表明着用逗號分隔的權限列表。若是你想要將權限賦予任意數據庫(或表),那麼使用星號(*)來代替數據庫(或表)的名字。

例如,爲全部數據庫/表賦予 CREATE 和 INSERT 權限:

mysql> GRANT CREATE, INSERT ON *.* TO 'myuser'@'localhost';

將所有的權限賦予全部數據庫/表:

mysql> GRANT ALL ON *.* TO 'myuser'@'localhost';

你也能夠將用戶現有的權限刪除。使用如下命令廢除"myuser"賬號的現有權限:

mysql> REVOKE <privileges> ON <database>.<table> FROM 'myuser'@'localhost';

驗證給用戶賦予的全權限:

mysql> SHOW GRANTS FOR 'myuser'@'localhost';

 

//設置用戶admin,密碼1111,能夠在任何地方訪問

grant all on 數據庫.* to 用戶名@登陸主機 identified by "密碼"

grant all on upload_file.* to 'admin'@'% ' IDENTIFIED BY '1111';

flush privileges;

 

異常處理

一、mysql> CREATE USER 'admin'@"%" IDENTIFIED BY '1111';

ERROR 1396 (HY000): Operation CREATE USER failed for 'admin'@'%'

創建新用戶的時候,報錯,多是由於已經建立過這樣的用戶,未刪除乾淨

//刷新權限表

flush privileges;

若是仍是不行報錯ERROR 1396 (HY000): Operation CREATE USER failed for ‘test’@’%’

再刪除一次:

drop user 'admin'@'%';

flush privileges; 

相關文章
相關標籤/搜索