标签: 数据库

26 篇文章

thumbnail
mysql常见面试题
一、简述MySQL索引及其作用? 是数据库管理系统中一个排序的数据结构,根据不同的存储引擎索引分为Hash索引、B+树索引等。常见的InnoDB存储引擎的默认索引实现为:B+树索引。索引可以协助快速查询、更新数据库表中数据。 二、什么是事务? 事务是一系列的操作,需要要符合ACID特性,即:事务中的操作要么全部成功,要么全部失败。 三、如何保证数据…
面试手册
面试手册 1、你接触过哪几种数据库软件,各自的优缺点是什么? 2、MySQL binlog的几种日志格式有什么区别? 3、MySQL的存储引擎有哪几种? 4、MySQL主从复制原理是什么? 5、MySQL中myisam和innodb的区别? 6、字段类型varchar和char的区别是什么?varchar(50)中50代表什么? 7、关系型数据库和…
数据库优化
数据库优化 一、数据库硬件优化(选型) 1.一般数据库选择 1.真实的硬件,物理机 2.云产品ECS,自己搭建数据库 3.云数据库(RDS、DRDS) 2.数据库类型 1.OLTP 在线事务处理系统 支持大量并发用户定期添加和修改数据。 反映随时变化的单位状态,但不保存其历史记录。 包含大量数据,其中包括用于验证事务的大量数据。 可以进行优化以对事…
thumbnail
MHA高可用
MHA高可用 一 MHA背景介绍 MHA 是Perl语言写的,开源的MYSQL故障切换方案;全称:Master High Availability,故障切换时间10-30s 有人说,我不要MHA行不行啊; 可以,没问题, 如果主数据库故障了? 首先,你需要手动一个一个地登录上所有的SLAVE从库,然后一个个对比,看谁执行的BINLOG比较新,然后将…
thumbnail
MySQL主从
MySQL主从 一 主从复制介绍 1.1 什么是主从复制 将主服务器的binlog日志复制到从服务器上执行一遍,达到主从数据的一致状态,称之为主从复制。 一句话表示就是,主数据库做什么,从数据库就跟着做什么。 1.2 为何要做主从 (1)为实现服务器负载均衡/读写分离做铺垫,提升访问速度 #1、什么是读写分离 有了主从保持数据一致作为大前提,我们便…
快速导出和导入
快速导出和导入 一 介绍 ​ 在公司中,如果运营或者产品手里有几千万甚至几亿条数据,要求你将其导入数据中,请问如何做? ​ 如果你依据运营或产品交给你的数据文件直接使用insert语句,一行一行地批量插入,那至少需要1-2天时间才能插入完毕,此时我们可以用LOAD DATA INFILE语句。 ​ LOAD DATA INFILE语句可以从一个文本…
thumbnail
MySQL备份与恢复
MySQL备份与恢复 一 数据备份介绍 1.1 为何要备份 在生产环境中我们数据库可能会遭遇各种各样的不测从而导致数据丢失, 大概分为以下几种. 硬件故障 软件故障 自然灾害 黑客攻击 误操作 (占比最大) 须知在生产环境中,服务器的硬件坏了可以维修或者换新,软件崩溃可以修复或重新安装, 但是如果数据没了那可就毁了,生产环境中最重要的应该就是数据了…
MySQL 日志管理
MySQL 日志管理 一 日志分类 日志种类 作用 错误日志 记录 MySQL 服务器启动、关闭及运行错误等信息 事务日志 1、redo log重做日志 2、undo log回滚日志 查询日志 记录所有的sql 慢查询日志 记录执行时间超过指定时间的操作,如果是全表查询,即便没有超时也会被记录下来 二进制日志 又称binlog日志,以二进制文件的方…
thumbnail
MySQL事务中的redo与undo
MySQL事务中的redo与undo 一 前言 ​ 众所周知InnoDB 是一个事务性的存储引擎,在上一小节我们提到事务有4种特性:原子性、一致性、隔离性和持久性,在事务中的操作,要么全部执行,要么全部不做,这就是事务的目的。 ​ 那么事务的四种特性到底是基于什么机制实现呢??? 1、事务的原子性、隔离性由锁机制实现,我们将在后续章节《数据库锁机制…
事务
innodb存储引擎核心特性之事务 https://www.cnblogs.com/linhaifeng/articles/14387841.html Redo用来保证事务的原子性和持久性,Undo能保证事务的一致性,两者也是系统恢复的基础前提。 比如有两个用户访问数据库,当然并发罗。A是更改,B是查询。 --A更改还没有提交,B查询的话,数据肯定…
thumbnail
索引和慢查询
索引原理与慢查询优化 一 我们要搞明白的问题 让我们带着以下问题展开对索引的探索 1、为何索引叫key 2、索引是如何加速查询的,它的原理是啥? 索引模型/结构从二叉树-》平衡二叉树-》b树最后到b+树,每种树到底有什么问题最终演变成到了b+树 3、为何b+树不仅能够加速等值查询,还能加速范围查询 4、什么是聚集索引,什么是辅助索引 5、什么情况下…
thumbnail
存储引擎
存储引擎 一 MySQL组织架构 1、连接层 1.验证用户的身份,用户名密码是否匹配 2.提供两种连接方式(TCP/IP连接、socket连接) 3.连接层提供了一个与sql层交互的线程 2、SQL层 1.接收连接层传过来的SQL语句 2.验证执行的SQL语法 3.验证SQL的语义(DDL,DML,DQL,DCL) 4.解析器:解析SQL语句,生成…
thumbnail
权限管理
权限管理 一 mysql库下的授权表 linux系统的用户作用是: 1、登陆系统 2、管理系统文件 一样的道理,mysql数据库管理软件用户的则作用是: 1、登陆MySQL数据库 2、管理库与表等数据库对象 mysql数据库管理软件将权限信息都存放于mysql库下,该库下有一系列授权表,权限信息都存放于这一系列表中,我们挑几个重点介绍一下 mysq…
thumbnail
第一节:SQL基础介绍
SQL基础介绍 1、SQL介绍 结构化查询语言 #关系型数据库中通用的一类语言 5.7 以后符合SQL92严格模式 通过sql_mode参数来控制 2、常用SQL分类 DDL:Data Definition Language 数据定义语言(CREATE) DCL:Data control Language 数据控制语言(GRANT,ROLLBACK…
thumbnail
数据库基本管理
数据库基本管理 一 MySQL启动关闭流程 mysql是一个典型的C/S服务结构 1.mysql自带的客户端程序(/service/mysql/bin) mysql mysqladmin mysqldump 2.mysqld一个二进制程序,后台的守护进程 单进程 多线程 1.1 启动数据库 1、/etc/init.d/mysqld start --…
第二节:mysql多实例
一、mysql的多实例 NGINX多实例就是多个配置文件 mysql多实例:同一个软件启动多次,就是多个进程,每个进程监听的端口不同 1.不同的数据目录 2.不同的端口 3.不同的socket文件 4.不同的日志文件 1.创建多个数据目录 [root@db01 ~]# mkdir /data/{3307,3308,3309} -p 2.准备多个配置…
thumbnail
数据库介绍
一 数据库管理软件的由来 基于我们之前所学,数据要想永久保存,都是保存于文件中,毫无疑问,一个文件仅仅只能存在于某一台机器上。 如果我们暂且忽略直接基于文件来存取数据的效率问题,并且假设程序所有的组件都运行在一台机器上,那么用文件存取数据,并没有问题。 很不幸,这些假设都是你自己意淫出来的,上述假设存在以下几个问题。。。。。。 1、程序所有的组件就…

You cannot copy content of this page