mysql創建用戶並賦權


轉載地址:https://blog.csdn.net/luguodehua/article/details/80327462

1.使用root用戶登錄mysql數據庫

輸入如下指令:

SELECT * FROM mysql.user;

得到所有用戶及對應權限。

2.創建用戶

CREATE USER  'user_name'@'host'  IDENTIFIED BY  'password'

user_name:為創建用戶的名字

host:表示要這個新創建的用戶允許從哪台機登陸。

    如果只允許從本機登陸,則 填 ‘localhost’ ,如果允許從遠程登陸,則填 ‘%’

password:新創建用戶的登陸數據庫密碼,如果沒密碼可以不寫。

例如:

1)

CREATE USER  'aaa'@'localhost' IDENTIFIED BY '123456';

//表示創建的新用戶,名為aaa,這個新用戶密碼為123456,只允許本機登陸;

2)

CREATE USER  'bbb'@'%' IDENTIFIED BY '123456'

//表示新創建的用戶,名為bbb,這個用戶密碼為123456,可以從其他電腦遠程登陸mysql所在服務器;

3)

CREATE USER  'ccc'@'%';

//表示新創建的用戶ccc,沒有密碼,可以從其他電腦遠程登陸mysql服務器

我們新建一個用戶看一下,

CREATE USER 'aaa'@'localhost' IDENTIFIED BY '123456';
SELECT * FROM mysql.user;

我們可以看到新增的用戶aaa.

3.對用戶進行授權

命令:

GRANT PRIVILEGES ON  databasename.tablename  TO  'username'@'host';

privileges:表示要授予什么權限,例如可以有 select , insert ,delete,update等,如果要授予全部權力,則填 ALL

databasename.tablename:表示用戶的權限能用在哪個庫的哪個表中,如果想要用戶的權限很作用於所有的數據庫所有的表,則填 *.*,*是一個通配符,表示全部。

'username'@'host':表示授權給哪個用戶。

例如:

1)

GRANT  selectinsert  ON  emp.emp TO 'aaa'@'localhost'; 

//表示給用戶aaa授權,讓aaa能給emp庫中的emp表 實行 insert 和 select。

2)

GRANT  ALL  ON  *.*  TO  'aaa'@'localhost';
//表示給用戶aaa授權,讓aaa能給所有庫所有表實行所有的權力。

我們給新創建的aaa用戶賦予所有的權限

GRANT  ALL  ON  *.*  TO  'aaa'@'localhost';

可以看到aaa用戶的權限已做了改變,有N-->Y。

4.刪除用戶

指令:

DROP  USER 'aaa'@'localhost';

5.設置與更改用戶密碼

指令:

SET  PASSWORD  FOR  'username'@'host' = PASSWORD('newpassword');

如果是設置當前用戶的密碼:

SET  PASSWORD = PASSWORD('newpassword');
如:
SET  PASSWORD = PASSWORD('123456');

6.撤銷用戶權限

指令:

REVOKE PRIVILEGES ON database.tablename FROM 'username'@'host';

  例如:撤銷用戶aaa的select權限

REVOKE SELECT ON *.* FROM 'aaa'@'localhost';

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM