数据库的数据管理
DDL: CTEATE DROP ALTER
dml:对数据进行管理
update insert into delete truncate
dql:查询语询select
dcl:权限控制语句grant revoke
数据库用户管理:
创建用户
修改用户的权限
删除用户。
grant要在终端执行。
create user ‘ky32’@'localhost' identified by '123456';
create user 创建用户的开头
‘ky32’@'localhost':指定本机登录
‘ky32’@'192.168.176.30' 指定ip登录
‘ky32’@'192.168.176.%' 指定网段登录
‘ky32’@'%' MySQL通配符,表示所有都可以
ky32 表示的是用户名
localhost:新建的用户可以在那些主机上登录。即可以用IP地址,网段,主机名都可以
identified by '123456'; 新建的用户密码。
加密的方式创建密码
create user ‘ky32’@'localhost' identified by 'abc456';
select PASSWORD('abc456')
再把生成的密码放到by后面
给创建的用户赋权
在命令行执行
GRANT ALL PRIVILEGES on . 'ky32'@'localhost' identified by '123456';;
grant赋权的开头语句
all privileges 赋予所有权限
on*.*对所有库都有操作权限
on kgc.*只能对指定的库进行操作。
to 'ky32'@ ' localhost '
identified by '123456' ; 使用哪个密码进行登录。创建用户的时候不写,密码为空。
show grante for 'ky32'@'localhost' 查询用户的权限
只能从本地登录
在命令行登录test1
mysql -h 192.168.176.30 -u test1 -p123456;
在命令行给test1赋权
grant all privileges on kgc.* to 'test1'@'192.168.176.30' identified by '123456';
flush privileges; 刷新权限
show databases; 展示有哪些库
查看用户权限
show grants for 'test_123'@'192.168.176.%';
删除用户权限 :revoke
在命令行删除test1对所有库的所有权限
revoke all privileges on *.*from 'test1'@'192.168.176.30';
在命令行删除test1对kgc库的所有权限
revoke all privileges on kgc.*from 'test1'@'192.168.176.30';
只是删除权限,还可以登录
如何对权限进行控制:
添加单个权限。只给test1查kgc库的权限
grant select on kgc.* to 'test1'@'192.168.176.30' identified by '123456';
删除查的权限:
revoke select on kgc.* from 'test1'@'192.168.176.30' ;
给一个用户赋多个权限:多个权限之间用,隔开
grant select,insert on kgc.* to 'test1'@'192.168.176.30' identified by '123456';
在多个权限中选择性的删除一个
revoke drop on kgc.* from 'test1'@'192.168.176.30' ;
删除所有权限:
revoke all on kgc.* from 'test1'@'192.168.176.30' ;
给用户重命名:rename user ''@'' to ''@'';
rename user 'test1'@'192.168.176.30' to 'test_123'@'192.168.176.30'';
删除用户:drop user ''@'';
drop user 'test1'@'192.168.176.30' ;
给用户修改密码:
修改当前用户的密码(只能在命令行)
set password = password('')
给其他用户修改密码
set password for 'test1'@'192.168.176.30' =password('abc123')
忘记了root,如何恢复:
先修改配置文件
vim /etc/my.cnf
开启免密登录(在最后一行添加)
skip -grant-tables
重启mysql
systemctl restart mysqld
再登录之间回车
mysql -u root =p 回车
所有的用户信息都在use表当中。
核心字段
刷新
再删除免密码登录。
再重启mysql
用户权限管理:
create user '用户名'@'192.168.176.30' idetified by '123456';
grant all select,insert,drop
revoke
重命名 rename
drop user
set password = passwd('123456')
set password for '用户名'@'localhost' =password('abc123');
show grants for '用户名'localhost;
flush privileges;