乐趣区

关于mysql:什么是MySQL数据库

MYSQL 介绍

主从架构— —概念

binlog 日志

MySQL 的二进制日志能够说是 MySQL 最重要的日志了,它记录了所有的 DDL 和 DML(除了数据查问语句) 语句,以事件模式记录,还蕴含语句所执行的耗费的工夫。

复制原理

  1. 主库操作保留 binlog 日志
  2. 从库的 IO 线程从主库拉取 binlog 日志,并生成中继日志 (relay log)
  3. 从库的 SQL 线程解析中继日志,并在自身回放

状态查看次要通过判断 IO 线程和 SQL 线程是否处于 Running 判断复制是否失常, 判断 Seconds_Behind_Master 参数代表数据同步是否提早:
mysql> show slave status\G…      
Slave_IO_Running: YesSlave_SQL_Running: YesSeconds_Behind_Master: 0… 

主从架构— —衍生各种扩大的主从架构

1. 一主多从
2. 双主复制

  1. 级联复制
  2.  等等

读写拆散大部分场景下,读的频率比写的频率会高很多。所以能够通过扩大多个 SLAVE 节点进步整体的使用性能。

数据备份传统的备份包含三种形式:1. lvm snapshot(LVM 快照备份)2. mysqldump3. Xtarbackup 那么要如何实现数据的一致性备份呢 (一致性备份是所有数据 / 文件 / 磁盘 须要在同一个工夫点进行备份)LVM SNAPSHOT1. 执行 FTWRL(FLUSH TABLES WITH READ LOCK)1.1 上全局读锁 (lock_global_read_lock)1.2 清理表缓存 (close_cached_tables)1.3 上全局 COMMIT 锁 (make_global_read_lock_block_commit)2. 执行 lvcreate 创立 lv 快照.3. UNLOCK TABLES 解锁

MYSQLDUMP

  1. 开启可反复读事务隔离
  2. 开启事务
  3. 建设数据快照 (能够了解为 select  from )
  4. 完结事务

XTRABACKUP

1. 不是整体采纳备份锁,只有特定阶段。
2. indodb 阶段不须要加锁,ACID 的 C(持续性) 是通过 Redo log 实现,通过线程增量记录 redo log 实现。

退出移动版