创建用户:
create user 'test'@'localhost' identified by '123456';
create user 创建用户的固定开头
'test'@'localhost' test为用户名,
localhost:新建用户可以在哪些主机上登录,即使可以使用IP地址,网段主机名都可以
identified by '123456';:新建用户的密码
如何以加密的形式创建用户:
select PASSWORD('abc123');
如何给创建的用户赋权:
grant all privileges on *.* to 'test'@'localhost' identified by '123456';
grant 赋权的开头语句
all privileges 赋予所有权限
on *.* 对所有库都有操作权限
grant all privileges on kgc.* to 'test'@'localhost' identified by '123456';
on kgc.* 只能对指定的库进行操作
to 'test'@'localhost' 赋权给哪个用户
identified by '123456'使用哪个密码进行登录,创建用户的时候可以省略,密码为空。
要在命令行登录赋予权限:
Show grants for 'test'@'localhost';查看
赋权之前一定要刷新
Flush privileges;
小练习:
- 创建一个用户名 test1
- 第二个只允许该用户从20.0.0.52 这个终端登录
- 第三个只能对kgc库,有权限,其他库一律不行
从其他客户端登录的方式:
如何删除用户的权限:
回终端执行
错误书写:revoke all PRIVILEGES on *.* from 'test1'@'20.0.0.52';
删除用户权限一定要精确匹配,所以正确的书写方式:
删除用户的所有权限:revoke all PRIVILEGES on kgc.* from 'test1'@'20.0.0.52';
删除权限之后还是可以登录的
如何对权限进行控制:
只给用户查的权限
Grant select on kgc.* to ‘test1’@’20.0.0.52’ identified by ‘123456’;
如何删除select权限
revoke select on kgc.* from ‘test1’@’20.0.0.52’
如何给一个用户赋予多个权限:
grant select,insert,drop,update on laker.* to 'test1’@2’0.0.0.52'identified by '123456';
删除单个权限:
删除全部权限:
用户重命名:
rename user 'test1'@'20.0.0.52' to 'wang'@'20.0.0.52';
删除用户:
drop user 'test1'@'20.0.0.51';
修改当前用户的密码:只能在终端执行
set password = password('abc123');
修改其他用户的密码:
set password for 'wang'@'20.0.0.52' = password('abc123');
忘记root密码如何恢复:
- 改配置文件,设置免密登录
- 改密码:改的话必须要加密,回到命令行终端修改
加密