图片 3

未分类

MySQL官方自带的命令行工具,放在MyRocks上的核心业务主要有

8 11月 , 2019  

  • 不必备份索引,只备份数据;
  • 备份文件压缩比高,更省去磁盘空间;
  • 改进了mysqldump,备份进程中还开展额外压缩;

MySQL线上配置

考虑要素:

  • 本子采用, 5.1、5.5照旧5.6?
  • 分层选用,官方社区版? percona server? Mariadb?
  • 设置方式,包安装?二进制包安装?源码安装?
  • 路线配置,参数配置(尽量模板化、标准化)
  • 三个实例多个库 or 多个实例单个库?

关于备份的机能定位:

磁盘调解战略-write back

  • 数量写入cache既重回,数据异步的从cache刷入存款和储蓄介质媒质

听别人讲好多派完成全自动选主。

基本知识 – 冷备份与热备份

  • 冷备份
    • 关闭数据库服务,完整拷贝数据文件
  • 热备份
    • 在不影响数据库读写服务的景况下备份数据库

Schema设计及DB拆分等由品质优化团队担负。

基本知识 – 全量备份与增量备份

  • 全量备份
    • 备份完整的数据库
  • 增量备份
    • 只备份上一回备份以来发生改善的数目

使用基于GTID的豆蔻梢头主多从构造,外加三个基于lossless
semi-sync机制的mysqlbinlog落成的binlog server(能够知晓为MySQL 5.7的loss
zero replication卡塔尔。

小结

  • 常备工作比较容易,不过其余贰个操作都恐怕影响线上服务
  • 重新组合分化情状,不一样供给选拔最合适的点子管理
  • 日常说来专门的学问相应求稳不求快,有限帮助线上安居是DBA的最大权利

在以为semi-sync复制可确认保证宗旨数据生机勃勃致性的假诺前提下,发生故障切换时,利用上述的binlog
server中的日志实行补全后再选新主、切换。

服务错误日志

  • 笔录实例运转运作过程中至关心注重要音信
  • 安插参数 log_error = /data/mysql_data/node-1/mysql.log
  • 内容并非全部是不对信息
  • 例如mysqld进程不能够平常运营第后生可畏查看错误日志

3. 备份机制

innodb_thread_concurrency

  • innoDB内部并发调控参数,设置为0表示不做决定
  • 设若出现央求很多,参数设置超级小,后步入的伸手将会排队

6. 团队布局及手艺树

MySQL参数调优

  • 何以要调治MySQL的参数
    • MySQL是通用数据库,但专门的学业是形成的,私下认可参数不可能满意所有事情须要
    • MySQL内部一些参数是在MySQL一些很老的本羊时候做的,大概早先是做限流和护卫用的,但随着机器品质的增高,那么些尊敬类的参数恐怕会成为品质瓶颈

多实例之间从未打开财富隔开分离,这么做是让各类实例都能说明最大性能。

MySQL复制存在的主题素材

留存的标题

  • 长机宕机后,数据恐怕扬弃
  • 从库唯有二个sql thread,主库写压力大,复制很恐怕延时

斩尽杀绝办法:

  • 半联袂复制
  • 并行复制

位于My罗克s上的宗旨职业主要有:Feed、Post、社交图谱等读写混合业务。

MySQL有怎么着注意事项

  • MySQL的配置安装
  • MySQL的监控
  • MySQL参数调优

运用他们自已的osc工具实践Online
DDL(也是这一次DTCC大会上lulu的分享主旨卡塔 尔(英语:State of Qatar),它最先用PHP开拓,虽已经开源,但事实上不佳用,所以差十分少只在里头使用。那些工具区别于pt-osc,相对来讲更有优势,例如能够免止使用pt-osc最常蒙受的中坚数据延迟难题。

Redo log有怎样难题

  • 即使写入频仍诱致Redo
    log里对应的最老的数据脏页还从未刷新到磁盘,那时数据库将卡住,强制刷新脏页到磁盘
  • MySQL默许配置四个文件才10M,特别轻便写满,生产条件中应适当调解大小。

凭借配置基本完成切换,未使用VIP。

MySQL升级

  • 下载MySQL5.6安装包并配置MySQL5.6安装包安装路线
  • 关闭MySQL5.5实例,更改部分参数,使用MySQL5.6软件运转
  • 执行MySQL5.6路径下mysql_upgrade脚本
  • 表明是或不是成功晋级

网编:

详尽示例讲明

  • 光复某几条误删数据
  • 重整旗鼓误删表、库
  • 将数据库恢复生机到指定时期点

项目地址:

串行有啥样难题

  • SAS盘平常每秒只好有150~200个Fsync。
  • 换算到数据库每秒只好进行50~60个事务
  • 供数据分析景况拉数据
  • 供横祸恢复生机

binlog管理

  • 首要参数

max_binlog_size = 100MB
expire_logs_days = 7
  • binlog始平生成新文件,不会援用

  • 手工业清理binlog

purge binary logs to 'mysql-bin.000009';
purge binary logs before '2016-4-2 21:00:40'

具有的备份都是基于mysqldump完成,之所以接收mysqldump逻辑备份好处有:

查询日志的出口与公事切换

  • 日记输出参数

log_output={file|table|none}

  • 只要日志文件过大,能够准时截断并切换新文件

flush log;

在线表结构改动:数据库财富申请由质量服务公司担负,做到财富的合理性分布、分配,要是有些业务只须求个位数等第的DB实例,可以自行在私有DB云平新北申请安插,当数码十分的大时,需求先通过品质服务团队评估通过。

数据库复苏工具与命令

  • mysqldump备份 -> source恢复
  • xtrabackup备份 -> xtrabackup恢复
  • binlog备份 -> mysqlbinlog恢复

图片 1

RAID5 VS RAID10

  • RAID 5 – Block Striped. Distributed
    Parity.(起码三块盘,每块里有几个数据块和三个校验块)
  • RAID 10 – Block
    Mirrored.(每两块盘做RAID1,然后再按组做RAID0,最少四块盘)

DBA团队越来越多的是背负私有DB云平台的建设。

总结

  • 服务器配置要创设(内核版本、磁盘调整计策、RAID卡缓存)
  • 完备的监察和控制类别,提前意识标题
  • 数据库版本要跟上,不要太新,也毫不太老
  • 数据库质量优化:
    • 询问优化:索引优化为主,参数优化为辅
    • 写入优化:业务优化为主,参数优化为辅

原标题:MySQL运维经验

5.6-MySQL平时运营

5. 惊人自动化

写优化

  • 表结构设计上利用自增字段作为表的主键
  • 只对方便的字段加索引,索引太多影响写入品质
  • 督察服务器磁盘IO情形,假设写延迟比较大则须要扩大体积
  • 选料精确的MySQL版本,合理设置参数

可接收xtrabackup在现成存活的SLAVE实例上备份,也可在主库上提倡备份,再选取WDT(只怕是BT卡塔 尔(英语:State of Qatar)公约传输到外边,用于拉起从库。

5.4-MySQL线上配备

关于WDT项目:

binlog格式

  • 主要参数

binlog_format = {ROW|STATEMENT|MIXED}

  • 查看row模式的binlog内容

mysqlbinlog --base64-output=decode-rows -v c:/tmp/mylpg/mysql-bin.000001

其他,MariaDB 10.2版本也快要整合My罗克s引擎。

读优化

  • 道理当然是那样的使用索引对MySQL查询质量至关心注重要
  • 适宜的调动参数也能晋升查询质量

1. 概要

数据恢复生机的供给条件

  • 得力备份
  • 朝气蓬勃体化的数据库操作日志(binlog)

每台机器都施用多实例的模型。 每一个机器放多少个实例,每一种实例放多个DB。

innodb_io_capacity

  • InnoDB每一遍刷多少个脏页,决定InnoDB存储引擎的吞吐本领。
  • 在SSD等高品质存款和储蓄介质媒质下,应该加强该参数以提高数据库的特性。

若个别情状下是因为独特原因,现身从库全体挂掉的状态,会将全方位乞求切到主库,由它扛起凡职业服务压力。

编写翻译安装MySQL

  • 下载MySQL源码安装包
  • 设置供给包(make cmake bison-devel ncurses-devel build-essential)
  • Cmake配置MySQL编写翻译选项,能够定制必要设置的成效
  • make && make install
  • 初步化实例,编辑配置文件并运维
  • 账户安全设置

面前际遇周围的数据库实例,手工业处理完全不现实。近日在facebook首若是接受Python开采内部DB运转平台,所以Python技巧方面供给比较高。

5.7-MySQL参数调优

近期许多主导工作已切换到My罗克s引擎,在机械硬件配备不改变的情况,约可节省二分之一机器。

xtrabackup备份原理

  • 基于InnoDB的crash-recovery功能
  • 备份时期允许顾客读写,写须要发生redo日志
  • 从磁盘上拷贝数据文件
  • 从InnoDB redo log file实时拷贝走备份时期产生的装有redo日志
  • 光复的时候 数据文件 + redo日志 = 生机勃勃致性数据

数据库财富申请由质量服务组织肩负,做到财富的客观布满、分配。假设有个别业务供给一些些DB实例,能够自动在私有DB云平嘉义申请安排;当数码一点都不小时,必要先通过品质服务公司评估通过才方可。回去年今年日头条,查看愈来愈多

总结

  • MySQL主从复制是MySQL高可用性、高质量(负载均衡)的底子
  • 大约、灵活,安顿格局种类,能够依照分裂工作场景布局分歧复制结构
  • MySQL主从复制如今也存在部分主题素材,能够借助要求配置复制加强效用来消除难题
  • 复制进程中应有任何时候监察和控制复制状态,复制出错或延时或然给系统变成影响
  • MySQL复制是MySQL数据库程序猿必知必会的生龙活虎项基本技术

My罗克s项目地址:

innobackupex备份核心流程

start xtrabackup_log -> copy .ibd; ibdata1 -> FLUSH TABLE WITH
READ LOCK -> copy .FRM; MYD; MYI; misc files -> Get binary log
position -> UNLOCK TABLES -> stop and copy xtrabackup_log

4. 如何高效安排从库

平时关怀怎么样MySQL Status

  • Com_Select/Update/Delete/Insert
  • Bytes_received/Bytes_sent
  • Buffer Pool Hit Rate
  • Threads_connected/Threads_created/Threads_running

某些从库挂掉时,可以动态摘除。

标题管理(数据库慢?)

  • 数据库慢在哪?
  • show processlist查看mysql连接音讯
  • 查阅系统状态(iostat, top, vmstat)

备份放在集中储存(HDFS卡塔 尔(阿拉伯语:قطر‎上, 据书上说已达EB品级体量。

复制出错管理

广阔:1062(主键冲突) 1032(记录子虚乌有)
除恶务尽:手动管理
或:
跳过复制出错
set global sql_slave_skip_counter=1

2. 高可用机制

中央指数 – 备份用途

  • 多少思量
    • 应对硬件故障数据错过
    • 应对人工或程序bug引致数据删除
  • 制作镜像库以供服务
    • 亟需将数据迁移、计算解析等用处
    • 内需为线上数据创立二个镜像

地点提到,因为使用多实例、多DB结构,备份时能够多DB并行备份。当然了,也会控制并行备份的数码,防止影响在线工作特性。

还原误删除数据

case:误操作,删除数据忘记带完整条件,实行delete from user where age > 30 [and sex=male]

供给:将被去除的多少复苏

还原前提:完整的数据库操作日志(binlog)

delete from user where sex='female';

# 首先需要找到binlog里的信息
mysqlbinlog -vv mysql-bin.000001
# 找出sql语句,然后写出反转sql语句

数量纠正及注意事项

  • 更改前切记做好备份
  • 开工作做,改正完检查好了再付诸
  • 制止三次 修改大气数量,能够分批校正
  • 幸免业务高峰期做

导数据及注意事项

  • 多少最终方式(csv、sql文本 依旧平昔导入某库中)
  • 导数据方式(mysqldump、select into outfile)
  • 导数据注意事项
    • 导出为csv格式供给file权限,何况只可以数据库本地导
    • 幸免锁库锁表(mysqldump使用——single-transaction选项不锁表)
    • 防止对工作变成影响,尽量在镜像库做

缘何要调度参数

  • 不等服务器之间的布局、质量不平等
  • 不等专门的学业场景对数码的须要不相仿
  • MySQL的暗中同意参数只是个参考值,并不相符全数的运用途合

innoDB_flush_log_at_trx_commit

  • 垄断(monopoly卡塔 尔(阿拉伯语:قطر‎InnoDB事务的刷新方式,意气风发共有四个值:0,1,2
    • N=0 –
      每间距生龙活虎秒,把作业日志缓存区的数码写到日志文件中,以致把日志文件的数额刷新到磁盘上(高效,但不安全)
    • N=1 –
      各样职业提交时候,把工作日志从缓存区写到日志文件中,并且刷新日志文件的数额到磁盘上,优先采纳此方式保证数据安全性(低效,极度安全)
    • N=2 –
      每专门的职业提交的时候,把作业日志数据从缓存区写到日志文件中;每间隔风流浪漫秒,但不自然刷新到磁盘上,而是在乎操作系统的调节(高效,但不安全)

基本知识 – 备份周期

伪造要素:

  • 数据库大小(决定备份时间)
  • 还原速度须求(快捷or慢速)
  • 备份方式(全量or增量)

服务器上要求关爱怎么着

  • 硬件景况
  • 操作系统版本
  • CPU、网卡节约用电方式
  • 服务器numa设置
  • RAID卡缓存

何以时候必要还原数据

  • 硬件故障(如磁盘损坏)
  • 人为删除(如误删除数据、被黑)
  • 政工回滚(如游戏bug供给回档)
  • 正规必要(如安顿镜像库、查看历史某时刻数据)

MySQL semi-sync(半协助举行复制)

./sorence.png

图片 2

半合营复制

反转SQL语句

例:

t1(id primary key, a int)

反转SQL语句:

insert into t(id, a) values(1, 1) ->
delete t1 where id=1 and a=1
update t1 set a=5 where id=1 -> update t1 set a=1 where id=1
delete from t1 where id=1 -> insert into t(id, a) values(1, 1)

innodb_buffer_pool_size

  • InnoDB存款和储蓄引擎本人维护一块内部存款和储蓄器区域实现新老多少的替换
  • 内部存款和储蓄器越大越能缓存越多的数额

MySQL主从复制安排

主导安顿要求条件

  • 主库开启binlog日志(设置log-bin参数)
  • 主从server-id不同
  • 从库服务器能连通主库

主干布置步骤:

  • 备份还原(mysqldump或xtrabackup)
  • 授权(grant replication slave on .)
  • 布署复制,并运转(change master to)
  • 查看主从复制新闻(show slave statusG)

存款和储蓄引擎事务日志

  • 一些存款和储蓄引擎有器重做日志(redo log)
  • 如InnoDB, TokuDB等WAL(Write Ahead Log)机制存款和储蓄引擎
  • 日记随着事务commit优先持久化,确定保障非常恢复生机不丢数据
  • 日志顺序写品质较好

实用脚本innobackupex

  • 开源Perl脚本,封装调用xtrabackup及一五颜六色相关工具与OS操作,最终水到渠成备份进程
  • 协理备份InnoDB和其余内燃机的表
  • 备份风流倜傥致性保险

加权限及注意事项

  • 只给适合供给的最低权限
  • 制止授权时订正密码
  • 防止给接受账号super权限

常用工具及用法 – xtrabackup

特点:

  • 开源,在线备份InnoDB表
  • 支撑限制速度备份,防止对业务产生影响
  • 支持流备
  • 支撑增量备份
  • 支撑备份文件压缩与加密
  • 支撑互相备份与还原,速度快

MySQL线上安装小结

  • 听别人讲必要接收妥当的本子以至分支,建议使用或进步到较高版本5.5或5.6
  • 假诺须要定制MySQL效用的话,能够思忖编写翻译安装,不然的话建议利用二进制包安装,比较便利
  • 依附机器配置采用布署多少个MySQL实例依然单个实例,机器配置非常好的话,建议计划多实例

常用工具及用法

  • mysqldump – 逻辑备份,热备
  • xtrabackup – 物理备份, 热备
  • Lvm/zfs snapshot – 物理备份
  • mydumper – 逻辑备份,热备
  • cp – 物理备份,冷备

联级复制

A -> B -> C

B中加上参数:
log_slave_updates
B将把A的binlog记录到协和的binlog日志中

MySQL主从复制用场

  • 实时灾备,用于故障切换
  • 读写分离,提供查询服务
  • 备份,幸免影响职业

二进制日志binlog

  • binlog (binary log)
  • 记录数据引起数据变化的SQL语句或数额逻辑变化的剧情
  • MySQL服务层记录,非亲非故存储引擎
  • binlog的根本效率:
    • 基于备份恢复生机数据
    • 数据库主从同步
    • 发现分析SQL语句

磁盘调整计策-write through

  • 多少同期写入cache和存款和储蓄媒介物才回到写入成功

MySQL日志的归类

  • 服务器日志
    • 笔录过程运营运作进程中的特殊事件,协助剖判MySQL服务遭受的标题
    • 依赖要求抓取特定的SQL语句,追踪品质恐怕存在的难点的业务SQL
  • 作业日志
    • 笔录应用程序对数据的享有改动
    • 可用于数据复苏
    • 可用于实例间数据同步
分类 日志名称
服务器日志 服务错误日志
服务器日志 慢查询日志
服务器日志 综合查询日志
事务日志 存储引擎事务日志
事务日志 二进制日志

DBA运转工作

日常

  • 导数据、数据修改、表结构改换
  • 加权限、难题处理
    其他
  • 数据库选型铺排、设计、监察和控制、备份、优化等

二进制安装MySQL

  • 下载软件包
  • 解压放到钦命目录(举个例子/usr/local)
  • 将MySQL目录放到PATH中
  • 初阶化实例,编辑配置文件并运行
  • 账户安全设置

查看binlog内容

  • MySQL官方自带的命令行工具,放在MyRocks上的核心业务主要有。日志

show binlog events in 'mysql-bin.000011';
show binlog events in 'mysql-bin.000011' from 60 limit 3;
  • mysqlbinlog工具

mysqlbinlog c:/tmp/mylog/mysql-bin.000001
--start-datetime | --stop-datetime
--start-position | --stop-position

开启binlog

  • 首要参数

log_bin = c:/tmp/mylog/mysql-bin
sql_log_bin = 1
sync_binlog = 1
  • 查看binlog

show binary logs;

MySQL主从复制

  • 风流倜傥主黄金年代从
  • 主主复制
  • 意气风发主多从
  • 多主风姿罗曼蒂克从
  • 联级复制

部署MySQL的要求

  • 推荐的MySQL版本: >= MySQL5.5
  • 推荐介绍的MySQL存款和储蓄引擎: InnoDB

5.3-MySQL数据复苏

社区和合法的改进

  • MariaDB提议修正,固然那七个参数都以1也能到位合併效果,质量获得了大幅度升高。
  • 官方摄取了MariaDB的思忖,并在那功底上开展了改正,品质再一次得到了拉长

Tips:

  • 法定在MySQL5.6本子之后才做了那个优化
  • Percona和MariaDB版本在MySQL5.5大器晚成度富含了那一个优化

5.1-MySQL日志系统

5.5-MySQL主从复制

sync_binlog

  • 支配每一次写入Binlog,是还是不是都亟需开展叁遍持久化

innobackupex使用

首要示例:

  • 全量备份

innobackupex --user=root --password=123456 --defaults-file=/etc/mysql/my.cnf /dbbackup
  • 增量备份

innobackupex --user=root --password=123456 --defaults-file=/etc/mysql/my.cnf --incremental --incremental-dir /dbbackup/2016-4-3_13:24:32 /dbbackup
  • 流方式备份

innobackupex --user=root --password=123456 --defaults-file=/etc/mysql/my.cnf --stream=xbstream /dbbackup/ > /dbbackup/stream.bak
  • 相互备份

innobackupex --user=root --password=123456 --defaults-file=/etc/mysql/my.cnf --parallel=4 /dbbackup/
  • 限流备份

innobackupex --user=root --password=123456 --defaults-file=/etc/mysql/my.cnf --throttle=10 /dbbackup/
  • 压缩备份

innobackupex --user=root --password=123456 --defaults-file=/etc/mysql/my.cnf --compress --compress-thread 4 /dbbackup/

至关重要影响MySQL写质量的七个参数

  • innoDB_flush_log_at_trx_commit
  • sync_binlog

回顾查询日志

  • 假定打开将会记录系统中负有SQL语句
  • 布置参数

general_log = 1
general_log_file = /data/mysql_data/node-1/mysql-slow.log
  • 不时用于救助解析系统难题,对质量有影响

Redo log的作用

  • Redo log用在数据库崩溃会的故障复苏

InnoDB Redo log

  • Write ahead Log

布局MySQL并行复制

并行复制

  • 社区版5.6中新增
  • 相互影响是指从库十二线程apply binlog
  • 库等第并行应用binlog,同二个数据库改革依旧串行的(5.7版并行复制基于事务组)

设置

set global slave_parallel_workers=10; 设置sql线程数为10

复原误删表、库

case:业务被黑,表被剔除了(drop teble user)

急需:将表恢复生机

前提:备份 + 备份以来完整binlog

innobackupex --apply-log /dbbackup/filename
# 查看binlog的位置点
cat xtrabackup_binlog_info
# 查看结束点
mysqlbinlog -vv filename

mysqlbinlog -vv --start-position=2556990 -- stop-position=2776338
mysqlbinlog -vv --start-position=2556990 -- stop-position=2776338 | mysql -uroot -p123456 --sock=/dbbackup/mysql_3309/mysqld.sock

MySQL多实例安装

  • 部署好mysql软件
  • 编纂多少个布局文件,起头化多个实例
  • 启动MySQL实例

数据恢复生机思路

  • 新式叁次备份 + binlog恢复生机到故障时间点(适用于种种数码遗失现象)
  • 开采最终三次备份到故障点之间的binlog获取有关SQL语句,构造反转SQL语句并应用到数据库(只是用于记录遗失,且binlog必得是row格式)

慢查询日志

  • 笔录施行时间当先一定阈值的SQL语句
  • 布署参数

slow_query_log = 1
slow_query_log_file = /data/mysql_data/node-1/mysql-slow.log
long_query_time = 5
  • 用来剖判种类中大概存在品质难点的SQL

表结构退换注意事项

  • 在低峰期做
  • 表结构改动是不是会有锁?(5.6满含online ddl功效)
  • 接受pt-online-schema-change完结表结构改换
    • 能够制止主从延时
    • 能够制止负载过高,能够限制速度

Insert Buffer

  • 逐一读写 VS 随机读写
  • 随意乞求品质远远小于顺序央浼

尽量多的自由要求归并为顺序央浼才是增加数据库品质的显要

  • MySQL从5.1本子开头扶持Insert Buffer
  • MySQL5.5版本之后同有时间帮忙update和delete的merge
  • Insert Buffer只对二级索引且非独一索引有效

MySQL多实例计划

为啥多实例计划?

  • 丰裕利用系统财富
  • 能源隔开
  • 政工、模块隔绝

InnoDB事务日志重用机制

  • InnoDB事务日志选用两组文件改动重用

系统调优的按照:监察和控制

  • 实时监督MySQL的slow log
  • 实时监督检查数据库服务器的载荷景况
  • 实时监察和控制MySQL内部景色值

哪些是日记

  • 日记(log)是生龙活虎种顺序记录事件流水的文本
  • 记录Computer程序运转进度中产生了什么样
  • 用处各类
  • 支持解析程序难题
  • 浅析服务乞请的表征、流量等
  • 剖断工作是或不是中标试行
  • ……

RAID

  • RAID Redundant Array of Independent Disks
    • 传延亲族情状里日常不太会用裸设备,平常会使用RAID卡对一块盘或多块盘做RAID
    • RAID卡会预先流出一块内部存款和储蓄器,来保障数据高效存储与读取
    • 常见的RAID类型有:RAID1、RAID0、RAID10和RAID5

常用工具及用法 – mysqldump

MySQL官方自带的命令行工具

关键示例:

  • 躬体力行使用mysqldump备份表、库、实例

# 备份所有数据库
mysqldump -uroot -p123456 --socket=/var/run/mysqld/mysqld.sock --all-databases > /dbbackup/all_db.sql
# 备份指定的数据库
mysqldump -uroot -p123456 --socket=/var/run/mysqld/mysqld.sock --databases db2 > /dbbackup/db2.sql
# 备份单个表
mysqldump -uroot -p123456 --socket=/var/run/mysqld/mysqld.sock db2 t1 >/dbbackup/db2_t1.sql
# 还原表
mysql > source /dbbackup/db2_t1.sql
  • 示范使用mysqldump制作生龙活虎致性备份

mysqldump --single-transaction -uroot -p123456 --all-databases > /dbbackup/add_db_2.sql
  • 示范使用mysqldump远程备份一个数据库

mysqldump -utest -ptest -h192.168.0.68 -P3306 --all-databases > /dbbackup/remote_bakall.sql
  • 演示使用mysqldump导出多少为csv格式

mysqldump -uroot -p123456 --single-transaction --fields-terminated-by=, db1 -T /tmp

布局MySQL半二头复制

只需二回:

主库:

INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';

从库:

INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';

动态设置:

主库:

SET GLOBAL rpl_semi_sync_master_enabled=1;
SET GLOBAL rpl_semi_sync_master_timeout=N; master 延迟切异步

从库:

SET GLOBAL rpl_semi_sync_slave_enabled=1;

RAID如何保险数据安全

  • BBU(Backup Battery Unit)
    • BBU保险在WB计谋下,就算服务器爆发掉电恐怕宕机,也能够将缓存数据写入到磁盘,从而保险数据的汉中

MySQL异步复制

./sorence.png

图片 3

异步复制

5.2-MySQL数据备份

MySQL运行奉行

何以参数有利于增长写入质量

  • innoDB_flush_log_at_trx_commit && sync_binlog
  • innodb log file size
  • innodb_io_capacity
  • innodb insert buffer

基本知识 – 本地备份与远程备份

  • 地面备份
    • 在数据库服务器本地开展备份
  • 长间距备份
    • 长途连接数据库进行备份

怎么着保管职业的安全

  • innoDB_flush_log_at_trx_commit 和 sync_binlog都设为1
  • 业务要和Binlog保障生龙活虎致性

(加锁)-> xa_prepare, Fsync -> Write And Fsync Binlog -> InnoDB
Commit, Fsync ->(释放锁)

优化早前大家供给通晓什么

  • 服务器相关的布局
  • 事务有关的意况
  • MySQL相关的安排

Write Back VS Write Through

  • write Back 品质优于 Write Through
  • Write Through 比 Write Back安全性高

什么制定备份计谋

亟需思忖的成分

  • 数据库是否都以innodb引擎表 -> 备份方式,热备or冷备
  • 数据量大小 -> 逻辑备份or物理备份,全量or增量
  • 数据库当地球磁性盘空间十二分丰富 -> 备份到本地or远程
  • 内需多块恢复生机 -> 备份频率 小时or天

复制监控

查询从库状态:

show slave statusG

学科小结

  • 回复是现已丰盛苦逼的饭碗,尽量制止做。咱们要做多少卫士并非救火队员。(线上应该严厉把控权限,数据变动操作应优先测验,操作时做好备份)
  • 有效备份(+binlog)是最重要,对数据库准时备份是必需的
  • 备份是生龙活虎体数据恢复生机的底工

MySQL semi-sync(半同台复制)

半协助举行复制

  • 5.5合併到MySQL,以插件情势存在,必要单独安装
  • 承保工作提交后binlog起码传输到一个从库
  • 不保险从库应用完那些事情的binlog
  • 品质有必然的骤降,响适这时间更加长
  • 互连网特别或从库宕机,卡住主库,直到超时或从库恢复生机

基本知识 – 物理备份与逻辑备份

  • 物理备份
    • 以数据页的样式拷贝数据
  • 逻辑备份
    • 导出为裸数据或许SQL(insert)语句

基本知识 – 备份内容

  • 数据
    • 数据文件或文本格式数据
  • 操作日志(binlog)
    • 数据库改动日志

RAID0 VS RAID1

  • RAID 0 – Block Striped. No Mirror. No Parity.
  • RAID 1 – Block Mirrored. No Stripe. No Parity.


相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图