目录
一、用户管理
1. 用户信息
2. 创建用户
3. 删除用户
4. 修改用户密码
二、给用户授权
0.MySQL数据库提供的权限列表
1. 给用户授权
2. 回收权限
一、用户管理
1. 用户信息
1.0 数据库mysql和user表安装好 MySQL后,里面会有一个默认的数据库mysql里面有一个user表。MySQL 中的用户,都存储在数据库 mysql 的 user 表中。所有的用户管理工作,全部都在这张表中进行。即:所有用户管理工作对应的sql,本质其实都是对这个表进行增删查改。
1.1 查询所有用户的所有信息先进入数据库mysql : use mysql;再使用语句: select * from user\G 查询所有用户信息。*************************** 1. row *************************** Host: localhost User: root Select_priv: Y ………… authentication_string: ************************* ………… 字段解释: Host : 表示这个用户可以从哪个主机登陆,如果是localhost,表示只能从本机登陆 User : 用户名 *_priv : 用户拥有的权限(Y表示有权限,N表示没有权限) authentication_string: 用户密码通过password函数加密后的
1.2 查询所有用户的主要信息使用语句: select host,user,authentication_string from user; 查询所有用户的主要信息。字段解释:
host: 表示这个用户可以从哪个主机登陆,如果是localhost,表示只能从本机登陆。如果是'%'表示可以从任意主机登录。
user: 用户名。
authentication_string: 用户密码通过password函数加密后的。
2. 创建用户
- 语法:create user '用户名'@'登陆主机/ip' identified by '密码';
- 示例:create user 'test'@'localhost' identified by '123';
创建用户时如果报错,可以先使用 flush privileges; 刷新权限,再重新执行上面的语句。当然我们也可以使用insert语句进行插入,但是不推荐。
3. 删除用户
- 语法:drop user '用户名'@'主机名'
- 示例:drop user 'test'@'localhost';
4. 修改用户密码
- 修改当前登录MySQL用户的密码:set password=password('新密码');
- root用户修改指定用户的密码:set password for '用户名'@'主机名'=password('新密码');
二、给用户授权
0.MySQL数据库提供的权限列表
1. 给用户授权
1.1 给用户授予指定数据库或表的指定权限
- 语法 : grant 权限列表 on 库[.表名] to '用户名'@'登陆位置'
- 示例 :
grant select on base.table to 'test'@'localhost'
grant select, delete, create on base.table to 'test'@'localhost' -- 多个权限用逗号分开
grant all on base.table to 'test'@'localhost' -- all表示赋予该用户在该库/表上的所有权限
1.2 查看指定用户现有权限
show grants for ' 用户名 ' @ ' 登陆位置 ';注意:如果发现赋权限后,没有生效,执行指令:flush privileges;
2. 回收权限
语法:revoke 权限列表 on 库.对象名 from '用户名'@'登陆位置';
示例:revoke all on test.* from 'test'@'localhost';
------------------------END-------------------------
才疏学浅,谬误难免,欢迎各位批评指正。