标签:5.7 for 命令 sel host 增加 逗号 set 存储
MySQL是一个多用户的数据库,MYSQL的用户可以分为两大类:
超级管理员用户(root),拥有全部权限
普通用户,由root创建,普通用户只拥有root所分配的权限
权限数据库:在MySQL中的mysql数据库。
与权限相关的数据表:user,db,host,tables_priv,columns_priv,procs_priv等。
1)user表存储的信息
用户的信息:hots(用户所在的主机),user(用户名),password(密码)
用户的权限信息:_priv
安全性相关的信息:ssl_,x509,记录用户登录的验证操作等
与资源分配相关的信息:max_,
max_questions:表示用户在一个小时内最多可以进行的查询次数。
max_updates:表示用户在一个小时内最多可以进行的更新次数,也包括增加数据、删除数据。
max_connections:表示用户最多可以建立的连接数。
2)查看用户信息
select host,user, authentication_string from mysql.user;
create user u_name@’%’(所有的主机都能够登录) identified by ‘passwd‘;
identified by 会将纯文本密码加密作为散列值存储。
修改用户信息:rename user old_u_name to new_u_name;
mysql 5之后可以使用,之前需要使用update 更新user表.
删除用户信息:drop user u_name;
mysql5之前删除用户时必须先使用revoke删除用户权限,然后删除用户,mysql5之后drop命令可以删除用户的同时删除用户的相关权限。
set password for zx_root =password(‘xxxxxx‘);
update mysql.user set authentication_string=password(‘xxxx‘) where user=‘u_name‘;
1)查看用户权限信息
show grants for u_name;
2)授予用户权限信息
grant select on db_name.* to u_name;
3)回收用户权限信息
revoke select on db_name.* from u_name; //如果权限不存在会报错
注意:
1)上面的命令也可使用多个权限同时赋予和回收,权限之间使用逗号分隔:
grant select,update,delete,insert on db_name.* to u_name;
立即生效:flush privileges;(5.7可以不用写,自动更新)
2)设置权限时必须给出以下信息:
要授予的权限
被授予访问权限的数据库或表
用户名
整个服务器,使用 grant ALL 和revoke ALL
整个数据库,使用on database.*
特定表,使用on database.table
注意:
1)MySQL命令行中的命令:tee file_name,可以将接下来所有敲入的内容以及显示的内容全部记录到某一个文件中。
2)在MySQL终端中,当有换行命令输错之后可以使用“\c”结束输入,然后会显示刚才输入的命令在一行,可在修改之后继续。
标签:5.7 for 命令 sel host 增加 逗号 set 存储
原文地址:http://www.cnblogs.com/zhangyinhua/p/7755229.html