刷新
mysql学习

博主头像 mysql 0.数据库常见概念 0.1概念 数据库: 英文单词DataBase,简称DB。按照一定格式存储数据的一些文件的组合。 顾名思义:存储数据的仓库,实际上就是一堆文件。这些文件中存储了 具有特定格式的数据。 数据库管理系统: DataBaseManagement,简称DBMS。 数据库管理系 ...

MySQL运维1-日志

博主头像 一、错误日志 错误日志是MySQL中最重要的日志之一,它记录了当MySQL启动和停止时,以及服务器在运行过程中发生的任何严重错误时的相关信息,当数据库出现任何故障导致无法正常使用时,建议首先查看此日志 错误日志默认是开启的,默认存在目录/var/log/,默认的日志文件名为mysqld.log, 但 ...

数据库入门

博主头像 一、数据库介绍 介绍 数据库就是一个存储数据的仓库,能够长期存储数据且能够对数据进行增删改查 常见的数据库 关系型数据库: mysql:开源免费,常用于中小型项目 sql server:微软开发的数据库,适用于微软项目 oreale:适用大型项目,比如银行 sqlite:主要用于移动应用 非关系型数 ...

读高性能MySQL(第4版)笔记14_备份与恢复(中)

博主头像 1. 在线备份 2. 离线备份 2.1. 关闭MySQL做备份是最简单、最安全的 2.2. 所有获取一致性副本的方法中最好的 2.3. 损坏或不一致的风险最小 2.4. 根本不用关心InnoDB缓冲池中的脏页或其他缓存 2.5. 不需要担心数据在尝试备份的过程中被修改 2.5.1. 服务器不对应用提 ...

高性能MySQL实战(一):表结构

博主头像 最近因需求改动新增了一些数据库表,但是在定义表结构时,具体列属性的选择有些不知其所以然,索引的添加也有遗漏和不规范的地方,所以我打算为创建一个高性能表的过程以实战的形式写一个专题,以此来学习和巩固这些知识。 一、实战 我使用的 MySQL 版本是 5.7,建表 DDL 语句如下所示:根据需求创建接口 ...

读高性能MySQL(第4版)笔记13_备份与恢复(上)

博主头像 1. 每个人都知道需要备份,但并不是每个人都能意识到需要的是可恢复的备份 1.1. 如果你没有提前做好备份规划,也许以后会发现已经错失了一些最佳的选择 1.2. 在服务器已经配置好以后,才想起应该使用LVM,以便获取文件系统的快照——但这时已经太迟了 1.3. 如果你没有计划做定期的恢复演练,当真的 ...

MySQL锁知识点扫盲大全

博主头像 1. 为什么需要加锁 在日常生活中,如果你心情不好想静静,不想被比别人打扰,你就可以把自己关进房间里,并且反锁。这就是生活中的加锁。 同理,对于MySQL数据库来说的话,一般的对象都是一个事务一个事务来说的。所以,如果一个事务内,一个SQL正在更新某条记录,我们肯定不想它被别的事务影响到嘛?因此,数 ...

MySQL高级13-MySQL管理工具

博主头像 一、系统数据库 MySQL数据库安装完成后,自带了四个数据库: mysql数据库:存储MySQL服务器正常运行所需要的各种信息如时区、主从、用户、权限等 infomation_schema:提供了访问数据库元数据的各种表和视图,包含数据库、表、字段类型及访问权限等 performance_schem ...

慢SQL原因分析之索引失效

博主头像 现象 最近收到一个慢sql工单,慢sql大概是这样:“select xxx from tabel where type = 1”。 咦,type字段明明有索引啊,为啥是慢sql呢? 原因 通过执行explain,发现实际上数据库执行了全表扫描,从而被系统判定为慢sql。这时有一定开发经验的同事会说: ...

读高性能MySQL(第4版)笔记12_查询性能优化(下)

博主头像 1. “快速、精确和实现简单” 1.1. 三者永远只能满足其二,必须舍掉一个 2. 排序优化 2.1. 无论如何排序都是一个成本很高的操作,所以从性能角度考虑,应尽可能避免排序或者尽可能避免对大量数据进行排序 2.2. 文件排序(filesort) 2.2.1. MySQL需要自己进行排序,如果数据 ...

MySQL高级12-事务原理

博主头像 一、事务概念 事务是一组操作的集合,他是一个不可分割的工作单位,事务会把所有操作作为一个整体一起向系统提交或者撤销请求操作,即这些操作要么同时成功,要么同时失败。 二、事务特性 原子性(Atomicity):事务是不可分割的最小操作单元,要么全部成功,要么全部失败 一致性(Consistency): ...

图文结合丨GreatSQL MGR + ProxySQL集群搭建方案

博主头像 前言 ProxySQL ProxySQL 是基于 MySQL 的一款开源的中间件的产品,是一个灵活的 MySQL 代理层,可以实现读写分离,支持 Query 路由功能,支持动态指定某个 SQL 进行缓存,支持动态加载(无需重启 ProxySQL 服务),故障切换和一些 SQL 的过滤功能。 Grea ...

MySQL常规优化操作

博主头像 查询SQL语句执行频率 查询 mysql 服务启动时长 SHOW STATUS LIKE 'uptime'; 下列输出表示服务启动了276324秒 + + + | Variable_name | Value | + + + | Uptime | 276324 | + + + 查询全局SQL执行的频率 ...

MySQL高级11-后台进程

博主头像 一、前言 MySQL的服务实现通过后台多个线程、内存池、文件交互来实现对外服务的,不同线程实现不同的资源操作,各个线程相互协助,共同来完成数据库的服务。MySQL常用的后台线程概括如下,分为Master Thread,IO Thread,Purge Thread,Page Cleaner Threa ...

分库分表之拆分键设计

博主头像 众所周知,在现实世界中,每一个资源都有其提供能力的最大上限,当单一资源达到最大上限后就得让多个资源同时提供其能力来满足使用方的需求。同理,在计算机世界中,单一数据库资源不能满足使用需求时,我们也会考虑使用多个数据库同时提供服务来满足需求。当使用了多个数据库来提供服务时,最为关键的点是如何让每一个数据 ...

读高性能MySQL(第4版)笔记11_查询性能优化(中)

博主头像 1. MySQL的客户端/服务器通信协议 1.1. MySQL的客户端和服务器之间的通信协议是“半双工”的 1.2. 在任何时刻,要么是由服务器向客户端发送数据,要么是由客户端向服务器发送数据,这两个动作不能同时发生 1.3. 当查询的语句很长的时候,参数max_allowed_packet就特别重 ...

MySQL高级10-InnoDB引擎存储架构

博主头像 一、逻辑存储结构 表空间(Tablespace):一个mysql实例,及一个数据库实例,可以对应多个表空间(ibd文件),用于存储记录,索引等数据。 段(Segment):分为数据段(Leaf node segment)、索引段(Non-leaf node segment)、回滚段(Rollback ...

读高性能MySQL(第4版)笔记10_查询性能优化(上)

博主头像 1. 三管齐下 1.1. 不做、少做、快速地做 1.2. 如果查询太大,服务端会拒绝接收更多的数据并抛出相应错误 1.3. 如果查询写得很糟糕,即使库表结构再合理、索引再合适,也无法实现高性能 1.4. 查询优化、索引优化、库表结构优化需要齐头并进,一个不落 1.5. Percona Toolkit ...

Linux离线安装Mysql-5.7

博主头像 1、背景描述 在真实业务场景下,Linux服务器一般位于内网,所以无法直接访问互联网资源; 特别是安装数据库的Linux服务器,在网络方面的管控只会更加严格; 因此,需要提前下载好相关资源,再传输到内网Linux服务器进行安装; 2、下载Mysql的安装包 下载地址:https://dev.mysq ...