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

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

- DCL——数据库控制语言

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

- 创建数据库用户

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

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

  • 示例:

创建数据库用户并查看:

linux系统——Mysql数据库之DCL控制语言_第1张图片

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

  • 句式:
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 —— 对列赋权

  • 示例:

授权并查看:

linux系统——Mysql数据库之DCL控制语言_第2张图片
登录验证:

linux系统——Mysql数据库之DCL控制语言_第3张图片
创库测试:

linux系统——Mysql数据库之DCL控制语言_第4张图片

- 除权

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

除权并查看:

linux系统——Mysql数据库之DCL控制语言_第5张图片
登陆测试:

linux系统——Mysql数据库之DCL控制语言_第6张图片

- 删除数据库用户

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

删除用户并查看:

linux系统——Mysql数据库之DCL控制语言_第7张图片
登陆测试:

linux系统——Mysql数据库之DCL控制语言_第8张图片

- mysql用户密码管理

  • 修改密码
  • 免密登陆

- 修改密码

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

库外修改:

linux系统——Mysql数据库之DCL控制语言_第9张图片
库内修改:

linux系统——Mysql数据库之DCL控制语言_第10张图片

- 免密登陆

免密登陆用在忘记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服务:

在这里插入图片描述

linux系统——Mysql数据库之DCL控制语言_第11张图片
免密登陆数据库:

linux系统——Mysql数据库之DCL控制语言_第12张图片
改密码,刷新权限使密码生效:

linux系统——Mysql数据库之DCL控制语言_第13张图片
去掉免密登陆配置后,重启mysql服务:

linux系统——Mysql数据库之DCL控制语言_第14张图片
linux系统——Mysql数据库之DCL控制语言_第15张图片

- Mysql日志

  • 官方手册解释:

linux系统——Mysql数据库之DCL控制语言_第16张图片
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] 标签下添加配置

linux系统——Mysql数据库之DCL控制语言_第17张图片
查看二进制日志内容:

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

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

linux系统——Mysql数据库之DCL控制语言_第18张图片

  • slow log :

配置方法:

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

linux系统——Mysql数据库之DCL控制语言_第19张图片
查看慢查询日志:

linux系统——Mysql数据库之DCL控制语言_第20张图片

你可能感兴趣的:(笔记,数据库,linux,mysql,centos)