mysql5.5以上 用戶的操作(轉)
1、創建用戶
create user 'username'@'host' identified by 'password';
參數說明:
username:用戶名。
host:可以連接的的主機。'localhost'表示只能本機連接,'%'表示任何一台機器都可以連接,也可以通過ip地址,規定某台遠程主機可以連接。
password:連接密碼。''表示不需要密碼。
例:create user 'jerry'@'localhost' identified by '123456';//只有本地可以連接
create user 'jerry' identified by '';//任何主機都可以連接,而且不需要密碼
2、授權
grant privileges on databasename.tablename to 'username'@'host';
參數說明:
privileges:用戶的操作權限 如select update delete insert。如果想擁有所有權限,可以使用all,默認除了grant權限,其他權限都擁有。
databasename:授權的數據庫名,表示可以對哪個數據庫進行操作。 如果想對所有數據庫可以操作,使用*
tablename:授權的表名,表示可以對哪個表進行操作。如果想對所有表可以操作,使用*
例:grand select,insert on *.* 'jerry'@'localhost';
grand all on db1.tb1 to 'jerry'@'localhost';
grand all on *.* to 'jerry'@'localhost';
mysql的權限說的是服務器端的權限。
3、創建用戶並授權
grant privileges on databasename.tablename to 'username'@'host' identified by 'password';
例:grant all on *.* to 'hello'@'localhost' identified by '123456';
使用這種方式創建用戶,如果用戶存在了,權限不會有變化,但可以修改密碼。如果用戶不存在,則創建用戶並授權,立即生效。
4、使用戶生效
使用先創建用戶,再授權的方式創建用戶,需要執行下面的命令,使用戶權限生效。
flush privileges;
必須執行flush privileges;否則ERROR 1045 (28000): Access denied for user 'user'@'localhost' (using password: YES )
5、設置與修改密碼
SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');
6、撤銷用戶權限
REVOKE privilege ON databasename.tablename FROM 'username'@'host';
具體可看某個用戶的權限。
SHOW GRANTS FOR 'username'@'host';