知识点整理3(数据库基础RDBMS)

1.当前主流RDBMS软件有哪些

  • 当前主流的数据库服务器软件有:Oracle、DB2、SQL SERVER、MySql等,其中只有MySQL是既开源又跨平台的数据库服务软件

2.简述MySQL数据库的服务进程名、默认端口、默认数据库目录

  • 服务进程名:mysqld
  • 默认监听端口号:3306
  • 默认数据库目录:、var/lib/mysql

3.MySQL默认的4个库

  • 默认的4个库分别是information_schema(此库不占物理磁盘空间)、performance_schema、mysql、sys

4.MySQL常用的数据类型及关键字

  • MySQL常用的数据类型包括:字符类型、数值类型、日期时间类型、枚举类型
  • 字符类型:char、varchar、blob、text
  • 数值类型:tinyint、smallint、int、bigint、float、double
  • 日期时间类型:year、date、time、datetime、timestamp
  • 枚举类型:enum、set

5.列举MySQL的基础函数

  • year() 获取指定时间中的年
  • date() 获取指定时间中的年月日
  • month() 获取指定时间中的月
  • day() 获取指定时间中的日期
  • time() 获取指定时间中的时间(时分秒)
  • now() 获取当前时间(年/月/日/时/分/秒)

6.简述索引的优缺点

  • 优点:加快查询表记录的速度
  • 缺点:会减慢写的速度(如:insert、update),占用物理存储空间

7.简述普通索引与主键的约束规则

  • index普通索引
    • 一个表中可以有多个INDEX字段
    • 字段的值允许有重复,且可以赋NULL值
    • 经常把做查询条件的字段设置为INDEX字段
    • INDEX字段的KEY标志是MUL
  • primary key主键
    • 一个表中只能有一个primary key字段
    • 对应的字段值不允许有重复,且不允许赋NULL值
    • 如果有多个字段都作为PRIMARY KEY,称为复合主键,必须一起创建
    • 主键字段的KEY标志是PRI,通常与AUTO_INCREMENT连用
    • 经常把表中能够唯一标识记录的字段设置为主键字段

8.表中创建外键字段要满足哪些条件

  • foreign key外键使用规则如下:
    • 表的存储引擎必须是innodb
    • 字段的数据类型要匹配
    • 被参考的字段必须是key中的一种(通常使用primary key)

9.主从同步结构中,slave服务器IO线程和SQL线程各自的作用

  • IO线程:把主数据库服务器binlog日志里的sql命令拷贝到本机的中继日志文件里
  • SQL线程:执行本机中继日志文件中的sql命令,把数据写进本机的数据库里

10.MySQL主从同步

  • 主从同步结构模式:
    • 一主一从结构、一主多从结构、主从从结构、主主结构
  • 主从同步复制模式:
    • 异步复制模式、全同步复制模式、半同步复制模式

11.简述数据读写分离的原理

  • MySQL服务器,分别提供读、写服务,均衡流量,通过主从复制保持数据一致性,由MySQL代理服务接受客户端访问,收到SQL写请求时,交给主服务器处理,收到SQL读请求时,交给从服务器处理。

12.MySql多实例的优点及安装步骤

  • 多实例:在一台物理机上运行多个数据库服务,优点是节约运维成本,提高硬件利用率
  • 配置步骤:
    • 安装支持多实例服务的软件包 yum install libaio
    • 修改主配置文件
      • 配置/etc/my.cnf,每个实例需要有独立的数据库目录,监听端口号,实例名称和独立的sock文件
    • 创建数据库目录 mkdir
    • 启动多实例
      • 首次启动服务会做数据初始化,并初始和提示数据库管理员本机登录密码
    • 客户端访问测试

13.什么是分库分表

  • 将存放在一个数据库(主机)中的数据,按照特定方式进行拆分,分散存放到多个数据库(主机)中,以达到分散单台设备负载的效果。主要有水平分割和垂直分割两类
    • 水平分割,又叫横向切分,按照表中指定字段的分片规则,将表记录按行切分,分散存储到多个数据库中
    • 垂直分割,又叫纵向切分,将单个数据库的多个表按照业务类型分类,分散存储到不同的数据库

14.Mycat简介

  • 概念:基于Java的分布式数据库系统中间件,为高并发环境的分布式存储提供解决方案,主要的10中分片规则:
    • 枚举法 sharding-by-intfile
    • 固定分片 rule1
    • 范围约定 auto-sharding-long
    • 求模法 mod-long
    • 日期列分区法 sharding-by-date
    • 通配取模 sharding-by-pattern
    • ASCII码求模通配 sharding-by-prefixpattern
    • 编程指定 sharding-by-substring
    • 字符串拆分hash解析 sharding-by-stringhash
    • 一致性 hash sharding-by-murmur
  • 配置文件
    • server.xml 设置客户端连接用户及逻辑库
    • schema.xml 配置表使用的分片规则,及存储数据的数据库服务器
    • rule.xml 分片规则文件

15.简述什么是MHA

  • MHA,全称Master High Availability,由日本DeNA公司youshimaton开发,是一套优秀的实现MySQL高可用的解决方案。数据库的自动故障切换操作能做到在0-30秒之内,MHA能确保在故障切换过程中最大程度保证数据的一致性,以达到真正意义上的高可用。
  • 组成:MHA Manager(管理节点)和MHA Node(数据节点)
  • 工作原理: MHA Manager定时探测集群中的master节点,当master出现故障时,自动将拥有最新数据的slave提升为新的master,然后将所有其他的slave重新指向新的master。整个故障转移过程对应用程序完全透明。
  • 常用管理命令:
    • masterha_check_ssh 检查MHA的SSH配置状况
    • masterha_check_repl 检查MySQL复制状况
    • masterha_manager 启动管理服务
    • masterha_check_status 检测当前MHA运行状态
    • masterha_master_monitor 检测master是否宕机
    • masterha_master_switch 控制故障转移(自动或者手动)
    • masterha_conf_host 添加或删除配置的server信息

16.简述innodb存储引擎和myisam存储引擎的特点

  • innodb:支持行级锁,支持外键,支持事务,支持事务回滚
  • myisam:支持表级锁,不支持外键,不支持事务,不支持事务回滚
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值