Qcon北京2018--《MySQL的Docker容器化大规模实践》--王晓波自 动 化 运 维 应用 DB中间件 数据存储 应用 VIP 告警分析 告警发送 指标画图 趋势预测 自定义脚本 Open API 数据校验 实例迁移 秒级监控诊断 慢日志分析 资源池调度 调度规则 容器调度 资源池 容器及实例创建 应用交付 资源申请 IO类型 配置 为了保证MySQL的高可用,需要在Docker容器分配时如何保障主从不在同一宿主机上。我们通过自研 根据IO需求调度容器创建在不同IO类型的主机。 4.申请新集群时,若IO要求高则按照宿主机的IO情况,优先选择IO最空闲的主机。 5.VIP集群必须主从端口一致,Proxy接入的集群端口无需一致。 6.VIP集群端口基于网段递增,Proxy集群端口基于IP递增 Docker里放了什么 内核版本 操作系统 宿主机 容器 镜像 Kernel版本 4.7 CentOS 7.2 部署服务器监控、容器监控agent容器 Docker版本 ocker容器在隔离性方面也存在一些缺陷。例如,在容器内部proc文件系统 中可以看到Host宿主机上的proc信息。这样就导致了一些问题,比如监控信息不准确、限制内存会导致应用程序OOM等。我们 基于lxcfs组件来增强容器的隔离性。 资源隔离 CPU最大超卖3倍,通过cpu-period配合cpu-quota一起使用,来限制容器的CPU的使用量 。比cpuset-cpus绑定CPU的方式灵活。0 码力 | 32 页 | 7.11 MB | 1 年前3
如何用 MySQL 构建全方位高可用应用数据写入主数据库,将关联事件写入二进制 日志 • 转储线程:读取二进制日志中的事件,然后 将其发送到从数据库 • I/O 线程:接收复制事件,并将其存储在从 数据库的中继日志中 • SQL 线程:读取从数据库的中继日志中的复 制事件,然后将其应用到从数据库 MySQL 复制工作流 会话 二进制 日志 主数据库 转储 I/O 中继 日志 SQL 4/16/2017 8 版权所有 版权所有 2015,Oracle 和/或其附属公司。保留所有权利。 MySQL Cluster 数据节点 Master –Slave Replication •内存优化表 – 持久 – 可与基于磁盘的表混合使用 •大量并发 OLTP •通过分布式联接支持分析 •通过并行表扫描支持非索引搜索 •MySQL Cluster 7.4 DBT2 FlexAsych – 2 亿次 NoSQL 31 MySQL Cluster 7.4 NoSQL 性能 2 亿次 NoSQL 读取/秒 版权所有 2015,Oracle 和/或其附属公司。保留所有权利。 •内存优化表 – 持久 – 可与基于磁盘的表混合使用 •大量并发 OLTP •通过分布式联接支持分析 •通过并行表扫描支持非索引搜索 •MySQL Cluster 7.4 DBT2 BM – 250 万条 SQL 语句/秒 4/16/20170 码力 | 40 页 | 2.19 MB | 1 年前3
MySQL 企业版功能介绍企业级安全性来利用现有安全基础架构 使用加密、密钥生成和数字签名保护敏感数据 通过 MySQL 企业级防火墙阻止针对数据库的攻击(如 SQL 注入) 对现有 MySQL 应用实施基于策略的审计合规性 通过 MySQL Enterprise Monitor 提高数据库性能和可用性 通过 MySQL Query Analyzer 查明影响数据库性能的 SQL Workbench 迁移向导将数据库迁移至 MySQL Oracle MySQL 服务云 Oracle MySQL 云服务提供了一个安全、经济高效的企业级 MySQL 数据库服务。它基于 MySQL 企业版并且受 Oracle 云的支持,提供同类先进的管理工具,可自动执行供应、修补、备份和恢复、 监视和调优等管理任务。多层安全可以保护您的数据免受外部攻击,同时帮助您实现合规性。自 企业级防火墙通知管理员 SQL 语句活动与批准的白名单不匹配。 MySQL 企业级审计 借助 MySQL 企业级审计,企业可以快速无缝地在现有应用中添加基于策略的审计合规性。您可 以动态启用用户级活动日志、实施基于活动的策略、管理审计日志文件以及将 MySQL 审计集成 到 Oracle 和第三方解决方案中。 MySQL Enterprise Monitor MySQL Enterprise0 码力 | 6 页 | 509.78 KB | 1 年前3
使用 Docker 建立 MySQL 集群on *.* to ‘sync’@'%' identified by 'sync'; /*保存权限设定*/ flush privileges; /*查看主数据日志状态,需要记住查询结果 File 和 Position 值,是从数据库复 制的日志起点*/ show master status; 在从数据库中执行 SQL 脚本: /*如果已经开启了同步,停止同步*/ stop slave; /*设定主数据库*/ 000004', master_log_pos=789; /*开启从数据库复制*/ start slave; 最后可以通过 show slave status; 查看同步情况。 至此我们就建立了一个基于 Docker 的 Mariadb 数据库集群。0 码力 | 3 页 | 103.32 KB | 1 年前3
Kubernetes Operator 实践 - MySQL容器化Zookeeper etcd AppEngine(Resin/Tomcat…) 统一服 务管理 Kubernetes 模板管理 自动化测试 部署中心 服务发现 灰度发布 监控中心 日志系统 PaaS SaaS 编 译 发 布 授 权 监 控 IaaS Registry SOA服务框架 DevOps 测 试 账户 搜狗商业平台基础平台 物料 计费 管理界面 Ø 支持大多数 MySQL 版本 Ø 使用 mysql 半同步复制 Ø 有数据丢失风险 Mysql Group Replication Ø MySQL 官方提供 Ø 5.7 新特性 Ø 基于 Paxos 协议 Ø 写入延迟相对高 MySQL 高可用的实现方式 MHA 高可用简介 • 节点分为 mha-manager、 mha-node • 节点两两间 ssh 免密登录 • 集群管理 2. 调度 pod Ceph MySQL-Operator 数据存储 分布式存储 • 使用 Ceph RBD,基于产品线 创建 StorageClass • 优点:可靠性高,容器漂移时 数据不变 • 缺点:读写延迟较高 本地存储 • 基于 Host Path Volumes • 优点:读写延迟低 • 缺点:单点数据,容器漂移时 数据丢失 踩到的坑 • 现象:执行0 码力 | 42 页 | 4.77 MB | 1 年前3
谈谈MYSQL那点事_commit 1 0 0 代表日志只大约每秒写入日志文件并且日志文件 刷新到磁盘 ; 1 为执行完没执行一条 SQL 马上 commit; 2 代表日志写入日志文件在每次提交 后 , 但是日志文件只有大约每秒才会刷新到磁盘上 . 对速度影响比较大,同时也关系数据完整性 innodb_log_file_size 8M 512M 在日志组中每个日志文件的大小 , 一般是 innodb_buffer_pool_size innodb_buffer_pool_size 的 25% ,官方推荐是 innodb_buffer_pool_size 的 40-50%, 设置大 一点来避免在日志文件覆写上不必要的缓冲池刷新 行为 innodb_log_buffer_size 128K 64M 用来缓冲日志数据的缓冲区的大小 . 推荐是 8M , 官方推荐该值小于 16M ,最好是 1M-8M 之间 设计合理的数据表结构:适当的数据冗余 设计合理的数据表结构:适当的数据冗余 mysqldumpslow - mysql mysqldumpslow - mysql 官方提供的慢查询日志分析 官方提供的慢查询日志分析 工具 工具 mysqlsla - hackmysql.com mysqlsla - hackmysql.com 推出的一款日志分析工具 推出的一款日志分析工具 ,功能 ,功能 非常强大 非常强大 my sql-ex plain-slow0 码力 | 38 页 | 2.04 MB | 1 年前3
TokuDB索引结构TokuDB索引结构 网易杭州研究院---胡争(博客:openinx.github.io) TokuDB简介 • 基于分形树实现的MySQL存储引擎 • Tokutek公司2007年研发,2013年开源 • 2015年Percona公司收购Tokutek公司 • TokuDB内部的K-V存储引擎为ft-index • TokuMx: ft-index + MongoDB Server层代码0 码力 | 19 页 | 1.97 MB | 1 年前3
MySQL 数据库架构灾难恢复解决方案and/or its affiliates. 9 / 55 Present - Solutions! 2020 - MySQL InnoDB Replicaset • "经典"、"异步"的基于复制的解决方案,完全集成 • MySQL Shell • MySQL Router • MySQL Server RPO !=0 RTO =minutes (manual failover)0 码力 | 52 页 | 3.07 MB | 1 年前3
共 8 条
- 1













