1. 程式人生 > >mysql新增使用者及許可權

mysql新增使用者及許可權

一、增加許可權

mysql> grant 許可權1,許可權2,...許可權n on 資料庫名稱.表名稱 to 使用者名稱@使用者地址 identified by '連線口令';

mysql>flush privileges; (刷新系統許可權表)

許可權1,許可權2,...許可權n代表select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file等14個許可權。
當權限1,許可權2,...許可權n被all privileges或者all代替,表示賦予使用者全部許可權。
當資料庫名稱.表名稱被*.*代替,表示賦予使用者操作伺服器上所有資料庫所有表的許可權。
使用者地址可以是localhost,也可以是ip地址、機器名字、域名。也可以用'%'表示從任何地址連線。
'連線口令'不能為空,否則建立失敗。

eg:

mysql>grant select,insert,update,delete,create,drop on vtdc.employee to [email protected] identified by '123';
mysql> flush privileges; 


給來自10.163.225.87的使用者joe分配可對資料庫vtdc的employee表進行select,insert,update,delete,create,drop等操作的許可權,並設定口令為123。

mysql>grant all privileges on vtdc.* to 
[email protected]
identified by '123'; mysql> flush privileges;


給來自10.163.225.87的使用者joe分配可對資料庫vtdc所有表進行所有操作的許可權,並設定口令為123。

mysql>grant all privileges on *.* to [email protected] identified by '123';
mysql> flush privileges; 


給來自10.163.225.87的使用者joe分配可對所有資料庫的所有表進行所有操作的許可權,並設定口令為123。

mysql>grant all privileges on *.* to [email protected] identified by '123';
mysql> flush privileges; 


給本機使用者joe分配可對所有資料庫的所有表進行所有操作的許可權,並設定口令為123。 

mysql> grant all on *.* to [email protected]"%" identified by "123" ;
mysql> flush privileges; (刷新系統許可權表)


(執行完會在mysql.user表插入一條記錄,all表示所有許可權(包括增 刪 改 查等許可權),
*.* 表示所有資料庫,yushan為新增的使用者名稱,123為密碼,%為匹配的所有主機,


 

mysql>grant select,update on db.* to [email protected] identified by '123";
mysql> flush privileges; 

給本機使用者yushan分配可對所有資料庫的所有表進行查詢和更新的許可權,並設定口令為123。

參考自https://www.linuxidc.com/Linux/2008-01/10699.htm

https://www.cnblogs.com/watchfree/p/5767738.html

二、檢視許可權

檢視許可權:
SHOW GRANTS FOR user1;
修改密碼:
SET PASSWORD FOR user1 = PASSWORD('newpwd');
SET PASSWORD = PASSWORD('newpwd');
移除許可權:
REVOKE all ON *.* FROM user1;
刪除使用者:
DROP USER user1;

參考自https://www.cnblogs.com/SQL888/p/5748824.html