Qcon北京2018--《MySQL的Docker容器化大规模实践》--王晓波
MySQL数据库为何要Docker化 1.MySQL数据库迅速爆炸式增长后,服务器规模不断增大,快速部署是个问题。 2.随着业务的发展,扩容数据库的不方便不快捷,也是个问题。 3.大量数据量小的数据库系统也单独部署在物理机,浪费问题突出。 4.DBA的数据库自动化标准化运维的需求。 5.Docker在同程的大规模使用,应用部署环境100%容器化,有Docker丰富的经验 。 让数据库的部署点单化开启 同一宿主机上。我们通过自研 Docker容器调度平台管理所有宿主机和容器,自定义Docker容器的分配算法。实现了MySQL的高密度,隔离 化,高可用化部署。 调度规则: 1.同一复制集群的实例在不同主机上。 2.优先分配CPU、内存、磁盘空间资源最空闲的主机。 3.根据IO需求调度容器创建在不同IO类型的主机。 4.申请新集群时,若IO要求高则按照宿主机的IO情况,优先选择IO最空闲的主机。 5 口基于IP递增 Docker里放了什么 内核版本 操作系统 宿主机 容器 镜像 Kernel版本 4.7 CentOS 7.2 部署服务器监控、容器监控agent容器 Docker版本 1.12,部署监控及系统服务agent MariaDB镜像(按产品)、MySQL5.7镜像(按产品)、监控容器镜 像、HA管理系统镜像、实例迁移服务镜像、监控服务端镜像 PS:容器虚拟化带来0 码力 | 32 页 | 7.11 MB | 1 年前3MySQL高可用 - 多种方案
业界不断讨论的热点问题,其中涉及的东西比较多,可 供选择的方案也相当多,面对这么多的方案,我们应该如何选择适合自己公司的 mysql 高可用方案呢,我觉得首先我们需要了解的自己公司的业务,了解在线系统中那些东西 会影响高可用,以及了解各个高可用方案比较适合哪些场景,通过这些比对应该不难找 出适合自己公司的高可用 mysql 方案。 经常有网友问 mysql 高可用如何实现,希望得到一些能实际使用的可验证的高可用 Lvs+Keepalived+Mysql 单点写入主主同步高可用方案 2.1 方案简介 Lvs+keepalived 作为目前比较流行的高可用解决方案,lvs 提供负载均衡, keepalived 作为故障转移,提高系统的可用性。但是一般的 mysql 高可用为了实现 mysql 数据的一致性,一般都是采用单点写入,本方案采用 keepalived 中的 sorry_server 来实现写入数据库为单点的需求。本方案实现的功能是当网络有问题、 服务停止后,服务器能自动跳转到备用机, 当主服务器服务启动起来后会自动切换回来。 2.2 方案架构图 2.3 方案优缺点 优点: 安装配置简单,实现方便,高可用效率好,可以根据服务与系统的可用性 多方面进行切换。 可以将写 VIP 和读 VIP 分别进行设置,为读写分离做准备。 扩展不是很方便。 可以在后面添加多个从服务器,并做到负载均衡。 缺点:0 码力 | 31 页 | 874.28 KB | 1 年前3如何用 MySQL 构建全方位高可用应用
分钟内开始监视 MySQL •实时监视 MySQL 性能和可用性 •直观地查找和修复有问题的查询 •监视磁盘,以便制定容量规划 •适合部署到云的体系结构 – 不需要代理 •可选的代理方式能提供高级 主机/OS 监视 4/16/2017 版权所有 2015,Oracle 和/或其附属公司。保留所有权利。 12 Enterprise Replication Monitor •自动搜索复制拓扑 •主/从性能监视 •有关最佳做法的复制建议 “我每天使用 MySQL Enterprise Monitor 监视和跟踪 MySQL 数据库。 该软件提供了快速的一站式服务, 可用来密切监视数据库。” -Wes Homer, 高级系统和网络管理员 4/16/2017 版权所有 2015,Oracle 和/或其附属公司。保留所有权利。 13 并不仅仅是可靠地存储数据 支持高可用性的各个层 数据的冗余访问路径 数据冗余存储 2015,Oracle 和/或其附属公司。保留所有权利。 15 •预安装且预配置 •完全集成且经过 QA 测试 •单点支持 •通过 VM 重新启动故障实例自动 恢复 •将正在运行的实例实时迁移到新 主机 适用于 MySQL 的 Oracle VM 模板 Oracle VM 服务器 Oracle VM 服务器池 ocfs2 Oracle VM Manager iSCSI / FC-AL0 码力 | 40 页 | 2.19 MB | 1 年前3使用 Docker 建立 MySQL 集群
使用 Docker 建立 Mysql 集群 软件环境介绍 操作系统:Ubuntu server 64bit 14.04.1 Docker 版本 1.6.2 数据库:Mariadb 10.10 (Mariadb 是 MySQL 之父在 MySQL 被 Oracle 收购之后 创建的分支,性能上优于 MySQL 开源版本) 第一步 安装 Docker 对于 Ubuntu,建议直接联网安装 Docker 配置一主一从集群 3.1 接下来启动另一个容器作为从数据库,因为镜像不支持在容器内进入 mysql 控制 台,所以依然需要把端口暴露出来以供局域网访问,但主数据库容易可以链接进 来作为一个可访问的主机 master_db。 docker run --name <从数据库名> -e MYSQL_ROOT_PASSWORD=<从数据库 root 密码> --link <主数据库容器名>:master_db = 2”,需要是比主 server-id 大的数字,mdb2 同样需要重启。 3.4 使用客户端连接上主数据库,这里我使用的是 mysql workbench,从数据库因为 安全考虑并没有公开端口给主机,只能进入容器的 mysql 控制台进行操作。 在主数据库中执行 SQL 脚本: /*设定用于同步的账号、密码*/ grant replication slave on *.* to ‘sync’@'%'0 码力 | 3 页 | 103.32 KB | 1 年前3MySQL 8.0.17 调优指南(openEuler 20.09)
............................................................................................3 3 操作系统调优................................................................................................. 介绍 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle 旗下产品。MySQL是最流行的关系型数据库管理系统之一,在Web应用方面,MySQL 是最好的RDBMS (Relational Database Management System,关系数据库管理系 统)应用软件之一。 MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将 调优原则 性能调优从大的方面来说,在系统设计之初,需要考虑硬件的选择,操作系统的选 择,基础软件的选择;从小的方面来说,包括每个子系统的设计,算法选择,如何使 用编译器的选项,如何发挥硬件最大的性能等等。 在性能优化时,我们必须遵循一定的原则,否则,有可能得不到正确的调优结果。主 要有以下几个方面: ● 对性能进行分析时,要多方面分析系统的资源瓶颈所在,因为系统某一方面性能 低,也许并不是它自己0 码力 | 11 页 | 223.31 KB | 1 年前3谈谈MYSQL那点事
MySQL 架构设计—高可用架构 系统优化:硬件、架构 系统优化:硬件、架构 服务优化 服务优化 应用优化 应用优化 MySQL MySQL 优化方式 优化方式 影响性能的因素 影响性能的因素 应用程序 应用程序 查询 查询 事务管理 事务管理 数据库设计 数据库设计 数据分布 数据分布 网络 网络 操作系统 操作系统 硬件 硬件 使用好的硬件,更快的硬盘、大内存、多核 读写分离;数据库分表、数据库切片(分 读写分离;数据库分表、数据库切片(分 布式),也考虑使用相应缓存服务帮助 布式),也考虑使用相应缓存服务帮助 MySQL MySQL 缓解访问 缓解访问 压力 压力 系统优化 系统优化 配置合理的 配置合理的 MySQL MySQL 服务器,尽量在应用本身达到一 服务器,尽量在应用本身达到一 个 个 MySQL MySQL 最合理的使用 最合理的使用 针对 innodb_buffer_pool_size 32M 10G InnoDB 使用一个缓冲池来保存索引和原始数据 , 这里你设置越大 , 你在存取表里面数据时所需要的 磁盘 I/O 越少,一般是内存的一半,不超过 2G , 否则系统会崩溃,这个参数非常重要 innodb_additional_mem _pool_size 2M 512M InnoDB 用来保存 metadata 信息 , 如果内存是 16G ,最好本值超 1024M0 码力 | 38 页 | 2.04 MB | 1 年前3Kubernetes Operator 实践 - MySQL容器化
Kubernetes Operator 实践 —— MySQL 容器化 刘林 搜狗资深工程师 关于我 搜狗商业平台研发部 资深开发工程师 l 主要从事商业平台研发工作,在构建高性能、高可用大规模 系统方面有丰富的实践经验 l 目前专注于云计算、DevOps 等相关领域,负责搜狗商业云 平台的设计研发工作 刘林 1. 背景介绍 2. Operator 的基本原理 3. MySQL Operator 故障恢复快 Cluster1 搜狗商业平台业务系统 搜索推广 信息流 品牌 BizNginx (Load Balancer) Kafka Zookeeper etcd AppEngine(Resin/Tomcat…) 统一服 务管理 Kubernetes 模板管理 自动化测试 部署中心 服务发现 灰度发布 监控中心 日志系统 PaaS SaaS 编 译 发 布 授 MySQL 集群高可用 • 支持 MySQL 集群弹性伸缩 • 支持 MySQL 5.5 & 5.7 Master Slave1 Slave2 MySQL 集群:1 主 2 从 MySQL 容器化系统架构 REST CLI Kubernetes Master API Server Scheduler Controller Manager NodeM kubelet kube-proxy0 码力 | 42 页 | 4.77 MB | 1 年前3MySQL 企业版功能介绍
Performance Schema 可监视各个用户和应用的性能及资源占用情况。 SQL 和 NoSQL 访问有助于执行复杂的查询以及快速完成简单快速的键值操作。 平台独立性让您可以灵活地在多个操作系统上开展开发和部署工作。 使用 MySQL 作为 Hadoop 和 Cassandra 的业务数据存储,支持大数据互操作性。 MySQL 企业级备份 MySQL 企业级备份能够执行 MySQL 企业级防火墙 MySQL 企业防火墙阻止可能导致宝贵的个人和财务数据丢失的 SQL 注入攻击。DBA 可以通过创 建白名单、实时威胁监视、SQL 语句阻止和报警来保护数据资产。作为入侵检测系统,MySQL 企业级防火墙通知管理员 SQL 语句活动与批准的白名单不匹配。 MySQL 企业级审计 借助 MySQL 企业级审计,企业可以快速无缝地在现有应用中添加基于策略的审计合规性。您可 与性能相关的服务器指标,并在严重偏离基准性能趋势时提醒开发人员和 DBA。Replication Dashboard 显示 MySQL 工具信息,Topology 视图显示复制分组的当前配置,让您能够快速了解每 个节点和每个复制子系统的状态。优秀实践顾问程序提供有助于提高性能的配置和变量设置建议。 MySQL Enterprise Monitor 利用趋势分析功能,在问题变严重前为您提供警示,并准确预测未来的 容量需求。0 码力 | 6 页 | 509.78 KB | 1 年前3MySQL 数据库架构灾难恢复解决方案
成为可能的复制特性: 8.0.22 :异步复制通道的自动连接故障转移 8.0.23 :使用组复制的异步复制通道进行自动连接故障转移 8.0.24 :使skip-slave-start 成为全局、持久、只读的系统变量。 8.0.26 :组复制成员操作(主成员上可配置super_read_only) 8.0.26:指定用于记录View_change_log_event 的UUID 8.0.27:异步复制通道配置自动跟随主成员 自动处理 InnoDB 集群状态更改 • 异步复制在主更改后自动重新配置 Copyright @ 2021 Oracle and/or its affiliates. 改主 - 更改正常系统上的主集群 41 / 55 切换 • 一个可以完成所有操作的命令: setPrimaryCluster() • 集群之间的异步复制通道会自动重新配置 • 保证一致性 • 如果需要,0 码力 | 52 页 | 3.07 MB | 1 年前3TokuDB索引结构
TokuMx: ft-index + MongoDB Server层代码 InnoDB TokuDB MyISAM MySQL Server层 MySQL Storage层 Linux 文件系统层 TokuDB特点 • 支持事务(ACID)的MySQL存储引擎 • 插入性能大大高于InnoDB(分形树vs B+树) • 查询性能略低于InnoDB • 在线执行DDL操作(不阻塞写操作)0 码力 | 19 页 | 1.97 MB | 1 年前3
共 10 条
- 1