菜单

运行推行,MySQL运转经验

2019年11月10日 - 互联网先知
运行推行,MySQL运转经验

某些从库挂掉时,能够动态摘除。

RAID

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

常用工具及用法 – mysqldump

MySQL官方自带的命令行工具

主要示例:

# 备份所有数据库
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 --single-transaction -uroot -p123456 --all-databases > /dbbackup/add_db_2.sql

mysqldump -utest -ptest -h192.168.0.68 -P3306 --all-databases > /dbbackup/remote_bakall.sql

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

多实例之间一贯不开展财富隔断,这么做是让每一个实例都能发布最大质量。

MySQL主从复制

My罗克s项目地址:

innoDB_flush_log_at_trx_commit

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

常用工具及用法 – xtrabackup

特点:

在以为semi-sync复制可确认保证大旨数据风流倜傥致性的只要前提下,产生故障切换时,利用上述的binlog
server中的日志进行补全后再选新主、切换。

积累引擎事务日志

至于备份的成效定位:

编写翻译安装MySQL

innodb_thread_concurrency

除此以外,MariaDB 10.2本子也就要整合MyRocks引擎。

MySQL异步复制

./sorence.png

图片 1

异步复制

若个别情况下是因为优良原因,出现从库全体挂掉的境况,会将全部恳求切到主库,由它扛起全数的作业服务压力。

怎么着保管专门的工作的安全

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

使用他们自已的osc工具实施Online
DDL(也是此次DTCC大会上lulu的享受核心卡塔 尔(英语:State of Qatar),它最初用PHP开辟,虽曾经开源,但实在不佳用,所以差不离只在中间采取。这么些工具不一样于pt-osc,相对来说更有优势,比方可以幸免选用pt-osc最常碰着的着力数据延迟难题。

服务器上急需关怀怎样

2. 高可用机制

复制监察和控制

查询从库状态:

show slave status\G

备份放在聚焦累积(HDFS卡塔 尔(英语:State of Qatar)上, 传说已达EB品级容积。

二进制安装MySQL

4. 怎么火速布置从库

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

log_output={file|table|none}

flush log;

6. 团队组织及技巧树

MySQL参数调优

3. 备份机制

MySQL主从复制安顿

基本铺排供给条件

骨干陈设步骤:

数据库能源申请由品质服务组织担任,做到财富的合理遍布、分配。若是有个别业务要求一点点DB实例,能够自行在私有DB云平新北申请布置;当数码十分大时,要求先经过质量服务团队评估通过才能够。回去年今年日头条,查看越来越多

复制出错处理

广泛:1062(主键冲突) 1032(记录不设有)
缓慢解决:手动管理
或:
跳过复制出错
set global sql_slave_skip_counter=1

图片 2

学科小结

现阶段大部分为主业务已切换来My罗克s引擎,在机器硬件配置不改变的气象,约可节约四分之二机械。

系统调优的依附:监察和控制

利用基于GTID的风华正茂主多从布局,外加四个基于lossless
semi-sync机制的mysqlbinlog达成的binlog server(能够精晓为MySQL 5.7的loss
zero replication卡塔 尔(阿拉伯语:قطر‎。

归纳查询日志

general_log = 1
general_log_file = /data/mysql_data/node-1/mysql-slow.log

常用工具及用法

依据超级多派达成机关选主。

磁盘调整计策-write through

每台机械都接纳多实例的模子。 种种机器放多个实例,每一个实例放四个DB。

慢查询日志

slow_query_log = 1
slow_query_log_file = /data/mysql_data/node-1/mysql-slow.log
long_query_time = 5

直面相近的数据库实例,手工业管理完全不现实。如今在facebook首借使利用Python开荒内部DB运行平台,所以Python本领方面须求比较高。

数据库恢复生机工具与命令

有着的备份都是依靠mysqldump完结,之所以接收mysqldump逻辑备份好处有:

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

依附配置大旨完成切换,未使用VIP。

数量修正及注意事项

原标题:MySQL运转阅历

总结

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

Redo log有何难题

关于WDT项目:

5.7-MySQL参数调优

5. 莫斯中国科学技术大学学自动化

配置MySQL并行复制

并行复制

设置

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

投身My罗克s上的着力职业首要有:Feed、Post、社交图谱等读写混合业务。

详见示例解说

1. 概要

5.5-MySQL主从复制

在线表结构改造:数据库财富申请由品质服务组织肩负,做到财富的客体布满、分配,借使有些业务只需求个位数级其余DB实例,能够自动在私有DB云平桃园申问好顿,当数码异常的大时,需求先经过品质服务团队评估通过。

RAID如何保障数据安全

体系地址:

数据复苏的须要条件

责编:

光复误删除数据

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语句

可接收xtrabackup在现存存活的SLAVE实例上备份,也可在主库上提倡备份,再利用WDT(大概是BT卡塔 尔(英语:State of Qatar)左券传输到异乡,用于拉起从库。

MySQL有何样注意事项

基本知识 – 备份周期

设想因素:

innodb_buffer_pool_size

MySQL运转实行

sync_binlog

基本指数 – 备份用场

回复误删表、库

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

导数据及注意事项

社区和合法的精雕细琢

Tips:

RAID0 VS RAID1

MySQL线上设置小结

InnoDB Redo log

写优化

RAID5 VS RAID10

串行有啥样难点

5.2-MySQL数据备份

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/

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

binlog管理

max_binlog_size = 100MB
expire_logs_days = 7

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

加权限及注意事项

MySQL多实例计划

干什么多实例布署?

MySQL线上布置

思忖要素:

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

binlog格式

binlog_format = {ROW|STATEMENT|MIXED}

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

常备关心怎么样MySQL Status

实用脚本innobackupex

MySQL主从复制用场

基本知识 – 备份内容

5.4-MySQL线上陈设

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

./sorence.png

图片 3

半协同复制

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

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

磁盘调解计谋-write back

MySQL日志的归类

分类 日志名称
服务器日志 服务错误日志
服务器日志 慢查询日志
服务器日志 综合查询日志
事务日志 存储引擎事务日志
事务日志 二进制日志

Insert Buffer

尽量多的随意恳求合併为顺序诉求才是增进数据库品质的第一

联级复制

A -> B -> C

B中丰硕参数:
log_slave_updates
B将把A的binlog记录到谐和的binlog日志中

服务错误日志

读优化

二进制日志binlog

如何参数有助于坚实写入品质

哪些制订备份战略

需求寻思的要素

反转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)

Redo log的作用

怎么是日记

总结

部署MySQL的要求

怎么时候供给还原数据

DBA运营职业

日常

布置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;

小结

MySQL升级

InnoDB事务日志重用机制

MySQL多实例安装

何以要调动参数

优化从前大家必要通晓怎么着

5.3-MySQL数据苏醒

innodb_io_capacity

5.1-MySQL日志系统

MySQL复制存在的难题

留存的标题

减轻方法:

表结构更动注意事项

数据恢复生机思路

难题管理(数据库慢?)

开启binlog

log_bin = c:/tmp/mylog/mysql-bin
sql_log_bin = 1
sync_binlog = 1

show binary logs;

5.6-MySQL平时运转

xtrabackup备份原理

Write Back VS Write Through

一言九鼎影响MySQL写质量的三个参数

查看binlog内容

show binlog events in 'mysql-bin.000011';
show binlog events in 'mysql-bin.000011' from 60 limit 3;

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

MySQL semi-sync(半一块复制)

半联袂复制

相关文章

发表评论

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

网站地图xml地图