.用户列 user表的用户列包括 Host、 User、password,分别表示主机名、用户名和密码。其中 user和 Host为 user表的联合主踺。当用户与服务器之间建立连接时,输入的账户信息中的用户名称、主机名和密码必 须匹配user表中对应的字段,只有3个值都匹配的时候,才允许连接的建立。这3 个字段的值就是创建账 户时保存的账户信息。修改用户密码时,实际就是修改user表的password字段的值。
权限列 权限列的字段决定了用户的权限,描述了在全局范围内允许对数据和数据库进行的操作。包括查 询权限、修改权限等普通权限,还包括了关闭服务器、超级权限和加载用户等高级权限。普通权限用于 操作数据库;高级权限用于数据库管理。 user表中对应的权限是针对所有用户数据库的。这些字段值的 类型为 ENUM,可以取的值只能为 Y和 N, Y表示该用户有对应的权限; N表示用户没有对应的权限。查看 user表的结构可以看到,这些字段的值默认都是 N。如果要修改权限,可以使用 GRANT语句或 UPDATE 语句更改 user表的这些字段来修改用户对应的权限。
安全列 安全列只有6个字段,其中两个是 SSI相关的,2个是 x509相关的,另外2个是授权插件相关的。 SSI用于加密; X509标准可用于标识用户: Plugin字段标识可以用于验证用户身份的插件,如果该字段 为空,服务器使用内建授权验证机制验证用户身份。可以通过 SHOW VARIABLES LIKE ’ have_openssl’语 句来查询服务器是否支持 SSI功能。
资源控制列 资源控制列的字段用来限制用户使用的资源,包含4个字段,分别为:
1)Max_questions— 用户每小时允许执行的查询操作次数。
2)Max_updates一用户每小时允许执行的更新操作次数。
3)Max_connections—用户每小时允许执行的连接操作次数。
4.)Max_user_connections—用户允许同时建立的连接次数。
mysql登录关键词
-h主机名,ip
-u用户
-p密码
-P端口
登录mysql
语法:mysql -u用户 -p密码
-h与-P只有在连接远程mysql时使用连接本地一般只使用-u与-p
创建用户
使用create创建用户
语法:create user 用户名@主机名 identified by 密码
创建一个用户tom并给他指定密码123456
使用哈希值创建用户设置密码
语法: select password(密码)
Create user 用户名@主机名 identified by password ‘哈希值‘;
先使用select password()算出密码哈希值然后创建用户插入哈希值
使用grant创建用户并赋值
语法:grant all(insert,update,delete,select) on 库.表 to 用户@主机名 identified by 密码
Grant后面可以跟insert,update,delete,select也可以使用all全部使用。库与表可以选择也可以使用*代表所有
更改密码
使用mysqladmin更改密码
语法:Mysqladmin -u用户 -p password 新密码
旧密码
使用set更改密码
语法1:set password=password(‘新密码’)只能更改登录用户密码
语法2:set password for 用户@主机名=password(‘新密码’)可以更改其他用户密码但是必须是root登录
使用grant更改密码
语法:grant usage on . to 用户@主机名 identified by ‘新密码’
Usage赋权限
使用哈希值更改密码
语法:select password(密码)
Update user set authentication_string=‘哈希值’ where user=‘用户’ and host=‘主机名’
查看用户
查看当前有多少用户
语法:select mysql.user from mysql.user\G
Select查询 mysql.user点前面为库点后面为表(如果在mysql库中可不写mysql)
查看当前用户
语法:show grants;
查看指定用户的权限信息
Show grants for 用户@主机名
查看想要查看的用户内容
语法:select 字段 from 表名’
给用户关闭某个权限
语法:update user set 权限=‘N’ where user=‘用户’ and host=‘主机名’
关闭插入权限
删除用户
使用drop删除用户
语法:drop user 用户@主机名;
使用delete删除用户
语法:delete from 表名 where user=‘用户’ and host=‘主机名’
回收权限
回收用户权限
Revoke 权限 on 库.表 用户@主机名