linux系统——Mysql数据库之DCL控制语言

linux系统——Mysql数据库之DCL控制语言

- DCL——数据库控制语言

  • 创建数据库用户
  • 删除数据库用户
  • 授予用户对数据库的控制权
  • 收回控制权

- 创建数据库用户

  • 句式:
create  user   用户名@'登陆主机'  identified by  '密码';	

用户名,密码自定义即可
登陆主机设置成用户从哪里登陆的服务器ip,localhost指用户只能从部署Mysql服务的这台服务器登陆

  • 示例:

创建数据库用户并查看:

在这里插入图片描述

- 授予用户对数据库控制权

  • 句式:
grant  权限  on  数据库.数据表  to  用户@'登陆主机'  [ identified by '密码' with option参数]
show  grants  for  '用户'@'登陆主机'		\\查看别人的权限
show  grants\G		\\查看自己的权限
[]内为可选项
identified  by  '密码'  	 \\加上这个可以授权时自动创建数据库用户
with  option   		\\授权权限选项,基本不加,加上后被授权的用户同样拥有了授予别人权限的权限
  • 权限列表:

all —— 授权权限以外的所有权限
select —— 查看数据权
create —— 建库、建表权
drop —— 删库、删表权
delete —— 除删数据权
insert —— 插入数据权
update —— 更新数据权
等。。。

授予具体权限时,每个权限要用逗号(,)隔开

  • 被授权的库和表的表达方式:

all ——所有库所有表
DB.* —— 指定库下的所有表
DB.TB —— 指定库下的指定表
select(列名),insert(列名,列名)on DB.TB —— 对列赋权

  • 示例:

授权并查看:

在这里插入图片描述
登录验证:

在这里插入图片描述
创库测试:

在这里插入图片描述

- 除权

  • 句式:
revoke  权限  on  数据库.数据表  from  用户@'登陆主机'
  • 示例:

除权并查看:

在这里插入图片描述
登陆测试:

在这里插入图片描述

- 删除数据库用户

  • 句式:
drop user 用户名@'登陆主机'
  • 示例:

删除用户并查看:

在这里插入图片描述
登陆测试:

在这里插入图片描述

- mysql用户密码管理

  • 修改密码
  • 免密登陆

- 修改密码

  • 句式:
mysqladmin  -u用户  -p'原密码'  password  '新密码'	\\musql外改密码
set  password=password('新密码')	\\进入mysql后,改当前登陆用户密码
update	mysql.user set  authentication_string=password('新密码') where  user='root' 	\\改密码表
flush privileges		\\刷新权限
  • 示例:

库外修改:

在这里插入图片描述
库内修改:

在这里插入图片描述

- 免密登陆

免密登陆用在忘记root密码时使用

步骤:

vim  /etc/my.cnf		\\编辑mysql配置文件
skip-grant-tables		\\[mysql]标签下添加免密登陆配置
systemctl restart mysqld	\\重启mysqld程序,使配置生效
mysql			\\免密登陆mysql
UPDATE mysql.user SET authentication_string=password('QianFeng@123')  where  user='root'  and  host='localhost';		\\修改密码
flush  privileges		\\刷新权限

改完后再将免密登陆配置删除或注释掉即可

示例:

添加免密登陆配置,重启mysql服务:

在这里插入图片描述

在这里插入图片描述
免密登陆数据库:

在这里插入图片描述
改密码,刷新权限使密码生效:

在这里插入图片描述
去掉免密登陆配置后,重启mysql服务:

在这里插入图片描述
在这里插入图片描述

- Mysql日志

  • 官方手册解释:

在这里插入图片描述
1,错误日志 :启动,停止,关闭失败报错。rpm安装日志位置 /var/log/mysqld.log
2,通用查询日志:所有的查询都记下来。
3,二进制日志:实现备份,增量备份。只记录改变数据,除了select都记。
4,中继日志:读取主服务器的binlog,在本地回放。保持一致。
5,slow log:慢查询日志,指导调优,定义某一个查询语句,定义超时时间,通过日志提供调优建议给开发人员。
6,DDL log: 定义语句的日志。

  • 配置

默认只开启了错误日志,二进制日志,slow log要手动配置开启

  • 二进制日志:

配置方法:

vim  /etc/my.cnf
[mysql]
log_bin		\\[mysql] 标签下添加配置

在这里插入图片描述
查看二进制日志内容:

二进制日志要用专用工具查看—mysqlbinlog,内容要注意看at标签,没一个at标签为在数据库内的一条操作

mysqlbinlog  /var/lib/mysql/localhost-bin-000001

在这里插入图片描述

  • slow log :

配置方法:

vim  /etc/my.cnf
[mysql]
slow_query_log=1		\\开启慢查询日志
long_query_time=3		\\查询时间超过3秒定义为慢查询

在这里插入图片描述
查看慢查询日志:

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值