| 用户管理 | 创建用户create user '杨'@'20.0.0.13' identified by '123'; |
| 用户重命名rename user '杨'@'20.0.0.13' to 'yang'@'20.0.0.13'; | |
| 删除用户drop user '杨'@'20.0.0.13'; | |
| 权限管理 | 查看用户权限show grants for '杨'@'20.0.0.13'; |
| 赋予用户权限grant all privileges on *.* to '杨'@'localhost' identified by '123';(要在终端操作) | |
| 删除用户权限revoke all privileges on *.* from 'test1'@'20.0.0.13';(要在终端操作) | |
| 赋予用户单个权限grant select on *.* to '杨'@'20.0.0.13' identified by '123'; | |
| 赋予用户多个权限grant select,update,insert,drop on kgc.* to '杨'@'20.0.0.13' identified by '123'; | |
| 移除单个权限revoke select on kgc.* from '杨'@'20.0.0.13'; | |
| 移除多个权限revoke update,drop on kgc.* from '杨'@'20.0.0.13'; | |
| 刷新权限flush privileges; | |
| 密码管理 | 查看密码 select * from user; select User,Host,authentication_string from user; |
| 用户密码加密 select password('123'); create user '婷'@'20.0.0.13' identified by '*23AE809DDACAF96AF0FD78ED04B6A265E05AA257'; | |
| 修改其他用户密码set password for 'test1'@'20.0.0.13'=password('abc123'); | |
| 修改当前终端密码set password=password(‘123’); | |
| 忘记密码后修改密码 vim /etc/my.cnf 添加免密登录skip-grant-tables update user set authentication_string=password('abc123') where Host='20.0.0.13' and User='婷'; |
1、用户管理
(1)创建用户create user '杨'@'20.0.0.13' identified by '123';
![]()


create user 创建用户的固定开头
'杨'@'localhost' :杨——用户名
localhost——新建用户‘杨’可以在哪些主机上登录(可以使用IP地址、网段、主机名)
例如:'杨'@'192.168.233.22' '杨'@'192.168.233.0/24'
'杨'@'%':%是mysql的通配符,表示任意和所有
identified by '123':新建用户的密码


(2)用户重命名rename user '杨'@'20.0.0.13' to 'yang'@'20.0.0.13';
![]()

(3)删除用户drop user '杨'@'20.0.0.13';
![]()
2、权限管理
(1)查看用户权限show grants for '杨'@'20.0.0.13';

(2)赋予用户权限(要在终端操作)
grant all privileges on *.* to '杨'@'localhost' identified by '123';
grant赋权的固定开头
all privileges赋予所有权限
on *.* 对所有库都有操作权限
on kgc.* 对指定库进行操作
to '杨'@'localhost' 赋权给哪个用户('杨'@'localhost'与创建用户时一致)
identified by '123'使用密码登录(创建用户时可以不设置密码,但不推荐)

测试。结论:远程登录成功

(3)删除用户权限(要在终端操作)
revoke all privileges on *.* from 'test1'@'20.0.0.13';
给什么权限就删除什么权限


(4)对用户权限进行控制
①赋予用户单个权限
grant select on *.* to '杨'@'20.0.0.13' identified by '123';

②赋予用户多个权限
grant select,update,insert,drop on kgc.* to '杨'@'20.0.0.13' identified by '123';

③移除单个权限revoke select on kgc.* from '杨'@'20.0.0.13';

④移除多个权限revoke update,drop on kgc.* from '杨'@'20.0.0.13';

(5)刷新权限flush privileges;
3、密码管理
(1)查看密码select * from user;
select User,Host,authentication_string from user;

(2)用户密码加密
select password('123');
create user '婷'@'20.0.0.13' identified by '*23AE809DDACAF96AF0FD78ED04B6A265E05AA257';

(3)修改密码
①修改其他用户密码
set password for 'test1'@'20.0.0.13'=password('abc123');



②修改当前终端密码set password=password(‘123’);

③忘记密码后修改密码
vim /etc/my.cnf
添加免密登录skip-grant-tables
update user set authentication_string=password('abc123') where Host='20.0.0.13' and User='婷';






4、实题
(1)创建用户test1,只允许该用户从20.0.0.13终端登录,只对kgc库有权限,其他库一律不行


(2)创建用户test,默认密码123456,声明网段,网段任选
创建一个库,库名test1。在库中创建两个表table1和table2
table1:id 主键;name 不能为空;sex 不能为空
table2:id 主键;address 可以为空,默认地址不详;phone可以为空,不能重复
test用户可以对test1的库进行select、insert权限;test用户名改成test_123;密码修改为abc123;删除insert权限;给两个表分别创建索引,table1索引是hash 类型,sex做索引;table2索引是btree,phone做索引
1、创建table1

2、创建table2

3、创建用户test,默认密码123456,声明网段,网段任选

4、test用户可以对test1的库进行select、insert权限


5、test用户名改成test_123
![]()

6、密码修改为abc123

7、删除insert权限

8、给两个表分别创建索引,table1索引是hash 类型,sex做索引;table2索引是btree,phone做索引





















