用户操作

创建用户

create user ‘username’@’host’ identified by ‘password’

  • host:本地:localhost,任意远程主机登陆:通配符%

用户授权

普通用户授权

GRANT privileges ON databasename.tablename TO 'username'@'host'

//如果要授予该用户对所有数据库和表的相应操作权限则可用*表示,如*.*

例如:

GRANT SELECT, INSERT ON test.user TO 'pig'@'%';

//在test库中的user 表授权pid用户插入和选择操作

GRANT ALL ON *.* TO 'pig'@'%';

//授权pid用户可以操作数据库所有的权限

注意:用以上命令授权的用户不能给其它用户授权

授权用户授权

如果想让该用户可以授权,用以下命令:

GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;

撤销权限

REVOKE SELECT,INSERT ON Database_name.table_name FROM 'username'@'hostname'

//撤销权限时,允许语句中含有用户未拥有的权限。

修改用户名

RENAME USER 'username'@'hostname' TO 'target_username'@'target_hostname'

修改密码

SET PASSWORD FOR 'username'@'hostname' =PASSWORD('new_password')

如果是修改当前登录的用户密码

SET PASSWORD = PASSWORD("newpassword");

删除用户

DROP USER 'username'@'hostname'

例如:

DROP USER 'username'@'host';

创建并授权

grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码";

通过GRANT命令创建用户,当数据库存在用户的时候GRANT会对用户进行授权,但当数据库不存在该用户的时候,就会创建相应的用户并进行授权。

操作代表权限

select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file等14个权限

例如:

grant select,insert,update,delete,create,drop on test.hr to john@192.168.10.1 identified by '123';

// 给主机为192.168.10.1的用户john分配可对数据库test的hr表进行select,insert,update,delete,create,drop等操作的权限,并设定口令为123。

// grant all privileges on :分配所有权限

// on test.*:授权对象为:数据库test所有表

// on *.*:授权对象为:所有数据库的所有表

// to john@localhost:john只能在本地访问数据库

直接向mysql.user表插入记录

数据库的用户信息都是保存在mysql.user这张表的,所以直接对该表进行插入语句,即可完成用户的创建,并刷新系统权限表。

insert into user (host,user,password) values ('%','john',password('123'));

flush privileges;

退出Mysql

exit (回车)

 
 
posted on 2018-06-23 18:12  jxba  阅读(434)  评论(0编辑  收藏  举报