centOS6.8中mysql对用户的操作和授权

来源:互联网 发布:北京达内java 编辑:程序博客网 时间:2024/04/28 15:07
一, 创建用户: 

命令:CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 

说明:username - 你将创建的用户名, host - 指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost, 如果想让该用户可以从任意远程主机登陆,可以使用通配符%. password - 该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器. 

例子: CREATE USER 'dog'@'localhost' IDENTIFIED BY '123456'; 
CREATE USER 'pig'@'192.168.1.101_' IDENDIFIED BY '123456'; 
CREATE USER 'pig'@'%' IDENTIFIED BY '123456'; 
CREATE USER 'pig'@'%' IDENTIFIED BY ''; 
CREATE USER 'pig'@'%'; 

二,授权: 


授权所有电脑可以登录root账号:grant ALL on *.* to 'root'@'%';

命令:GRANT privileges ON databasename.tablename TO 'username'@'host' 

说明: privileges - 用户的操作权限,如SELECT , INSERT , UPDATE 等(详细列表见该文最后面).如果要授予所的权限则使用ALL.;databasename - 数据库名,tablename-表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示, 如*.*. 

例子: GRANT SELECT, INSERT ON test.user TO 'pig'@'%'; 
GRANT ALL ON *.* TO 'pig'@'%'; 

注意:用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令: 
GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION; 

三.设置与更改用户密码 

命令:SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');如果是当前登陆用户用SET PASSWORD = PASSWORD("newpassword"); 

例子: SET PASSWORD FOR 'pig'@'%' = PASSWORD("123456"); 

四.撤销用户权限 

命令: REVOKE privilege ON databasename.tablename FROM 'username'@'host'; 

说明: privilege, databasename, tablename - 同授权部分. 

例子: REVOKE SELECT ON *.* FROM 'pig'@'%'; 

注意: 假如你在给用户'pig'@'%'授权的时候是这样的(或类似的):GRANT SELECT ON test.user TO 'pig'@'%', 则在使用REVOKE SELECT ON *.* FROM 'pig'@'%';命令并不能撤销该用户对test数据库中user表的SELECT 操作.相反,如果授权使用的是GRANT SELECT ON *.* TO 'pig'@'%';则REVOKE SELECT ON test.user FROM 'pig'@'%';命令也不能撤销该用户对test数据库中user表的Select 权限. 

具体信息可以用命令SHOW GRANTS FOR 'pig'@'%'; 查看. 

五.删除用户 

命令: DROP USER 'username'@'host'; 




一些操作例子

MySQL> grant 权限1,权限2,…权限n on 数据库名称.表名称 to 用户名@用户地址 identified by ‘连接口令’;

权限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地址、机器名字、域名。也可以用’%'表示从任何地址连接。
‘连接口令’不能为空,否则创建失败。

 

mysql>grant select,insert,update,delete,create,drop on vtdc.employee to joe@10.163.225.87 identified by ‘123′;
给来自10.163.225.87的用户joe分配可对数据库vtdc的employee表进行select,insert,update,delete,create,drop等操作的权限,并设定口令为123。

mysql>grant all privileges on vtdc.* to joe@10.163.225.87 identified by ‘123′;
给来自10.163.225.87的用户joe分配可对数据库vtdc所有表进行所有操作的权限,并设定口令为123。

mysql>grant all privileges on *.* to joe@10.163.225.87 identified by ‘123′;
给来自10.163.225.87的用户joe分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。

mysql>grant all privileges on *.* to joe@localhost identified by ‘123′;
给本机用户joe分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。


mysql安装:

yum install -y mysql-server mysql mysql-deve

       update user set password=password("123456") where user="root";
        flush privileges;


如果刚安装好数据库的话,需要更改root密码,可以现在/etc/my.cnf中加入这句话skip-grant-tables   这样就可以免密码登陆
附表:在MySQL中的操作权限 

ALTERAllows use of ALTER TABLE.ALTER ROUTINEAlters or drops stored routines.CREATEAllows use of CREATE TABLE.CREATE ROUTINECreates stored routines.CREATE TEMPORARY TABLEAllows use of CREATE TEMPORARY TABLE.CREATE USERAllows use of CREATE USERDROP USERRENAME USER, and REVOKE ALL PRIVILEGES.CREATE VIEWAllows use of CREATE VIEW.DELETEAllows use of DELETE.DROPAllows use of DROP TABLE.EXECUTEAllows the user to run stored routines.FILEAllows use of SELECT..INTO OUTFILE and LOAD DATA INFILE.INDEXAllows use of CREATE INDEX and DROP INDEX.INSERTAllows use of INSERT.LOCK TABLESAllows use of LOCK TABLES on tables for which the user also has SELECT privileges.PROCESSAllows use of SHOW FULL PROCESSLIST.RELOADAllows use of FLUSH.REPLICATIONAllows the user to ask where slave or masterCLIENTservers are.REPLICATION SLAVENeeded for replication slaves.SELECTAllows use of SELECT.SHOW DATABASESAllows use of SHOW DATABASES.SHOW VIEWAllows use of SHOW CREATE VIEW.SHUTDOWNAllows use of mysqladmin shutdown.SUPERAllows use of CHANGE MASTERKILLPURGE MASTER LOGS, and SET GLOBAL SQL statements. Allows mysqladmin debug command. Allows one extra connection to be made if maximum connections are reached.UPDATEAllows use of UPDATE.USAGEAllows connection without any specific privileges.
原创粉丝点击