 MySQL高可用 - 多种方案connect_port 3306 } } } 2.4.8 Master 和 backup 的 realserver 的配置 对于 realserver 的配置 master 和 backup 是一致的,脚本内容如下: vim /etc/rc.d/init.d/realserver.sh #!/bin/bash # description: Config realserver lo and apply connect_port 3306 } } } 3.5.7 Master 和 backup 的 realserver 的配置 对于 realserver 的配置 master 和 backup 是一致的,脚本内容如下: vim /etc/rc.d/init.d/realserver.sh #!/bin/bash # description: Config realserver lo and apply 配置,下面就分别来看!  Hosts 文件的配置 需要在 hosts 文件中添加 master 和 backup 主机,加快节点间的通信 Master 和 backup 的 hosts 节点添加的内容一样,我的配置添加如下内 容: vim /etc/hosts #dbserver 和 puppet 是我的 master 和 backup 的主机名 10.1.1.113 dbserver0 码力 | 31 页 | 874.28 KB | 1 年前3 MySQL高可用 - 多种方案connect_port 3306 } } } 2.4.8 Master 和 backup 的 realserver 的配置 对于 realserver 的配置 master 和 backup 是一致的,脚本内容如下: vim /etc/rc.d/init.d/realserver.sh #!/bin/bash # description: Config realserver lo and apply connect_port 3306 } } } 3.5.7 Master 和 backup 的 realserver 的配置 对于 realserver 的配置 master 和 backup 是一致的,脚本内容如下: vim /etc/rc.d/init.d/realserver.sh #!/bin/bash # description: Config realserver lo and apply 配置,下面就分别来看!  Hosts 文件的配置 需要在 hosts 文件中添加 master 和 backup 主机,加快节点间的通信 Master 和 backup 的 hosts 节点添加的内容一样,我的配置添加如下内 容: vim /etc/hosts #dbserver 和 puppet 是我的 master 和 backup 的主机名 10.1.1.113 dbserver0 码力 | 31 页 | 874.28 KB | 1 年前3
 MySQL 企业版功能介绍企业版并且受 Oracle 云的支持,提供同类先进的管理工具,可自动执行供应、修补、备份和恢复、 监视和调优等管理任务。多层安全可以保护您的数据免受外部攻击,同时帮助您实现合规性。自 助式供应可创建预配置的 MySQL 数据库,针对性能进行优化;而自动扩展能够让用户弹性扩展 计算资源、存储资源和 MySQL 副本。 MySQL 数据库 MySQL 凭借经济高效、可靠、高性能且可扩展的 oracle.com/cn(简体中文) 版权© 2014 归 Oracle 公司所有。未经允许,不得以 任何形式和手段复制和使用。 本文的宗旨只是提供相关信息,其内容如有变动,恕 不另行通知。Oracle 公司对本文内容的准确性不提供 任何保证,也不做任何口头或法律形式的其他保证或 条件,包括关于适销性或符合特定用途的所有默示保 证和条件。本公司特别声明对本文档不承担任何义务,0 码力 | 6 页 | 509.78 KB | 1 年前3 MySQL 企业版功能介绍企业版并且受 Oracle 云的支持,提供同类先进的管理工具,可自动执行供应、修补、备份和恢复、 监视和调优等管理任务。多层安全可以保护您的数据免受外部攻击,同时帮助您实现合规性。自 助式供应可创建预配置的 MySQL 数据库,针对性能进行优化;而自动扩展能够让用户弹性扩展 计算资源、存储资源和 MySQL 副本。 MySQL 数据库 MySQL 凭借经济高效、可靠、高性能且可扩展的 oracle.com/cn(简体中文) 版权© 2014 归 Oracle 公司所有。未经允许,不得以 任何形式和手段复制和使用。 本文的宗旨只是提供相关信息,其内容如有变动,恕 不另行通知。Oracle 公司对本文内容的准确性不提供 任何保证,也不做任何口头或法律形式的其他保证或 条件,包括关于适销性或符合特定用途的所有默示保 证和条件。本公司特别声明对本文档不承担任何义务,0 码力 | 6 页 | 509.78 KB | 1 年前3
 MySQL 数据库架构灾难恢复解决方案MySQL 数据库架构 灾难恢复解决方案 MySQL InnoDBClusterSet 介绍 MySQL SE 罗伟文 2 / 55 Safe Harbor Statement 以下内容旨在概述我们的一般产品方向。它仅供参考,不得纳入任何合同。它并不提供任何材料、代码或功能的承诺,不应据此做出购买决策。 Oracle 产品描述的任何特性或功能的开发、发布和时间安排仍由 Oracle 自行决定。 affiliates. MySQL InnoDB ClusterSet 配置命令 Copyright @ 2021 Oracle and/or its affiliates. 17 / 55 创建MySQL InnoDB Cluster Startwith setting up a regular MySQL InnoDB Cluster: mysqlsh> \c root@localhost:3331 addInstance('localhost:3333') mysqlsh> bru.status() 18 / 55 Copyright @ 2021 Oracle and/or its affiliates. 创建 ClusterSet mysqlsh> clusterset = bru.createClusterSet('clusterset') A new ClusterSet will be created0 码力 | 52 页 | 3.07 MB | 1 年前3 MySQL 数据库架构灾难恢复解决方案MySQL 数据库架构 灾难恢复解决方案 MySQL InnoDBClusterSet 介绍 MySQL SE 罗伟文 2 / 55 Safe Harbor Statement 以下内容旨在概述我们的一般产品方向。它仅供参考,不得纳入任何合同。它并不提供任何材料、代码或功能的承诺,不应据此做出购买决策。 Oracle 产品描述的任何特性或功能的开发、发布和时间安排仍由 Oracle 自行决定。 affiliates. MySQL InnoDB ClusterSet 配置命令 Copyright @ 2021 Oracle and/or its affiliates. 17 / 55 创建MySQL InnoDB Cluster Startwith setting up a regular MySQL InnoDB Cluster: mysqlsh> \c root@localhost:3331 addInstance('localhost:3333') mysqlsh> bru.status() 18 / 55 Copyright @ 2021 Oracle and/or its affiliates. 创建 ClusterSet mysqlsh> clusterset = bru.createClusterSet('clusterset') A new ClusterSet will be created0 码力 | 52 页 | 3.07 MB | 1 年前3
 Kubernetes Operator 实践 - MySQL容器化docker mysql pod-0 mysql pod-1 … … mysql pod-N NodeN Mysql Operator pod … … mysql Pod-T 0. 创建 CRD 3. 集群管理 2. 调度 pod Ceph MySQL-Operator 主流程 API Server Reflector DeltaFIFO Local Storage mysqlclusters.example.sogou spec: group: example.sogou names: kind: MySQLCluster plural: mysqlclusters 1. 创建 CRD • Clientset • Informers • Listers • DeepCopy code-generator MySQL 容器化系统架构 REST CLI Kubernetes docker mysql pod-0 mysql pod-1 … … mysql pod-N NodeN Mysql Operator pod … … mysql Pod-T 0. 创建 CRD 3. 集群管理 2. 调度 pod Ceph Kubernetes 的容器编排 • Pod 名稳定 • Pod 启动有序 • Pod 扩容安全 Deployment mysql-5f54tvkj80 码力 | 42 页 | 4.77 MB | 1 年前3 Kubernetes Operator 实践 - MySQL容器化docker mysql pod-0 mysql pod-1 … … mysql pod-N NodeN Mysql Operator pod … … mysql Pod-T 0. 创建 CRD 3. 集群管理 2. 调度 pod Ceph MySQL-Operator 主流程 API Server Reflector DeltaFIFO Local Storage mysqlclusters.example.sogou spec: group: example.sogou names: kind: MySQLCluster plural: mysqlclusters 1. 创建 CRD • Clientset • Informers • Listers • DeepCopy code-generator MySQL 容器化系统架构 REST CLI Kubernetes docker mysql pod-0 mysql pod-1 … … mysql pod-N NodeN Mysql Operator pod … … mysql Pod-T 0. 创建 CRD 3. 集群管理 2. 调度 pod Ceph Kubernetes 的容器编排 • Pod 名稳定 • Pod 启动有序 • Pod 扩容安全 Deployment mysql-5f54tvkj80 码力 | 42 页 | 4.77 MB | 1 年前3
 Qcon北京2018--《MySQL的Docker容器化大规模实践》--王晓波VIP 告警分析 告警发送 指标画图 趋势预测 自定义脚本 Open API 数据校验 实例迁移 秒级监控诊断 慢日志分析 资源池调度 调度规则 容器调度 资源池 容器及实例创建 应用交付 资源申请 IO类型 配置 为了保证MySQL的高可用,需要在Docker容器分配时如何保障主从不在同一宿主机上。我们通过自研 Docker容器调度平台管理所有宿主机和容器,自定义 自定义Docker容器的分配算法。实现了MySQL的高密度,隔离 化,高可用化部署。 调度规则: 1.同一复制集群的实例在不同主机上。 2.优先分配CPU、内存、磁盘空间资源最空闲的主机。 3.根据IO需求调度容器创建在不同IO类型的主机。 4.申请新集群时,若IO要求高则按照宿主机的IO情况,优先选择IO最空闲的主机。 5.VIP集群必须主从端口一致,Proxy接入的集群端口无需一致。 6.VIP集群端口基于网段递增,Proxy集群端口基于IP递增 络消耗不会过载。另外目前我们已经在线下尝试结合Ovs+Dpdk的方案实现网络隔离。 容器的调度 •提供两种API: •Docker API的封装,用于创建,删除,修改。 •集群管理API,用于集群管理。 •Scheduler调度:选择最优节点创建容器。 •Agent:用于连接监控模块,上报系统运行状况。 GRPC API Schedule Filter Strategy Docker API0 码力 | 32 页 | 7.11 MB | 1 年前3 Qcon北京2018--《MySQL的Docker容器化大规模实践》--王晓波VIP 告警分析 告警发送 指标画图 趋势预测 自定义脚本 Open API 数据校验 实例迁移 秒级监控诊断 慢日志分析 资源池调度 调度规则 容器调度 资源池 容器及实例创建 应用交付 资源申请 IO类型 配置 为了保证MySQL的高可用,需要在Docker容器分配时如何保障主从不在同一宿主机上。我们通过自研 Docker容器调度平台管理所有宿主机和容器,自定义 自定义Docker容器的分配算法。实现了MySQL的高密度,隔离 化,高可用化部署。 调度规则: 1.同一复制集群的实例在不同主机上。 2.优先分配CPU、内存、磁盘空间资源最空闲的主机。 3.根据IO需求调度容器创建在不同IO类型的主机。 4.申请新集群时,若IO要求高则按照宿主机的IO情况,优先选择IO最空闲的主机。 5.VIP集群必须主从端口一致,Proxy接入的集群端口无需一致。 6.VIP集群端口基于网段递增,Proxy集群端口基于IP递增 络消耗不会过载。另外目前我们已经在线下尝试结合Ovs+Dpdk的方案实现网络隔离。 容器的调度 •提供两种API: •Docker API的封装,用于创建,删除,修改。 •集群管理API,用于集群管理。 •Scheduler调度:选择最优节点创建容器。 •Agent:用于连接监控模块,上报系统运行状况。 GRPC API Schedule Filter Strategy Docker API0 码力 | 32 页 | 7.11 MB | 1 年前3
 使用 Docker 建立 MySQL 集群操作系统:Ubuntu server 64bit 14.04.1 Docker 版本 1.6.2 数据库:Mariadb 10.10 (Mariadb 是 MySQL 之父在 MySQL 被 Oracle 收购之后 创建的分支,性能上优于 MySQL 开源版本) 第一步 安装 Docker 对于 Ubuntu,建议直接联网安装 Docker 最新版本,apt-get 中版本较老。 首先获取安装脚本: wget https://get MYSQL_USER、MYSQL_PASSWORD、MYSQL_DATABASE 环境变量可以使容器在 运行时同时创建你所需要的数据库和带有全部权限的用户及其对应密码 6,设定 TERM 环境变量的值可以解决容器不能进入 mysql 控制台的问题。 对于不是自己建立的镜像,建立出来的容器未必能一次达到要求,建议是将 run 命令写成脚本,创建后使用 docker inspect <容器名> 仔细查看容器信息,关注镜像公开的端口和文件目录。如果发现达不到要求,使 apt-get install vim 这样我们才能在容器内修改配置文件。 还有一种方法,就是我们在主数据库容器中操作,之后,使用 docker commit <主数据库容器名> mariadb 这样再创建的容器就包含 vi 了。 3.3 为讲述方便,现在假设:我们有了连个数据库,mdb1 和 mdb2, mdb1 我们作为主 数据库,mdb2 作为从数据库。 首先修改主数据库: docker exec0 码力 | 3 页 | 103.32 KB | 1 年前3 使用 Docker 建立 MySQL 集群操作系统:Ubuntu server 64bit 14.04.1 Docker 版本 1.6.2 数据库:Mariadb 10.10 (Mariadb 是 MySQL 之父在 MySQL 被 Oracle 收购之后 创建的分支,性能上优于 MySQL 开源版本) 第一步 安装 Docker 对于 Ubuntu,建议直接联网安装 Docker 最新版本,apt-get 中版本较老。 首先获取安装脚本: wget https://get MYSQL_USER、MYSQL_PASSWORD、MYSQL_DATABASE 环境变量可以使容器在 运行时同时创建你所需要的数据库和带有全部权限的用户及其对应密码 6,设定 TERM 环境变量的值可以解决容器不能进入 mysql 控制台的问题。 对于不是自己建立的镜像,建立出来的容器未必能一次达到要求,建议是将 run 命令写成脚本,创建后使用 docker inspect <容器名> 仔细查看容器信息,关注镜像公开的端口和文件目录。如果发现达不到要求,使 apt-get install vim 这样我们才能在容器内修改配置文件。 还有一种方法,就是我们在主数据库容器中操作,之后,使用 docker commit <主数据库容器名> mariadb 这样再创建的容器就包含 vi 了。 3.3 为讲述方便,现在假设:我们有了连个数据库,mdb1 和 mdb2, mdb1 我们作为主 数据库,mdb2 作为从数据库。 首先修改主数据库: docker exec0 码力 | 3 页 | 103.32 KB | 1 年前3
 如何用 MySQL 构建全方位高可用应用MySQL協助您搭建全方位的高可用應用 杜修文 甲骨文全球事業部 安全港声明 以下内容旨在阐明产品的整体方向。该内容仅供参考,不可纳入任何合同。该信息 不承诺提供任何资料、代码或功能,并且不应该作为制定购买决策的依据。本文档 所述的 Oracle 产品的任何特性或功能的开发、发行和时间规划均由 Oracle 自行决定。 4/16/2017 版权所有 2015,Oracle 和/或其附属公司。保留所有权利。0 码力 | 40 页 | 2.19 MB | 1 年前3 如何用 MySQL 构建全方位高可用应用MySQL協助您搭建全方位的高可用應用 杜修文 甲骨文全球事業部 安全港声明 以下内容旨在阐明产品的整体方向。该内容仅供参考,不可纳入任何合同。该信息 不承诺提供任何资料、代码或功能,并且不应该作为制定购买决策的依据。本文档 所述的 Oracle 产品的任何特性或功能的开发、发行和时间规划均由 Oracle 自行决定。 4/16/2017 版权所有 2015,Oracle 和/或其附属公司。保留所有权利。0 码力 | 40 页 | 2.19 MB | 1 年前3
 运维上海2017-从理论到实践,深度解析MySQL Group Replication -徐春阳Paxos协议只实现消息全局排序,不处理冲突。 Paxos��:! • 冲突检查是在执行消息(execute_msg)时发生.前提:消息已经被多数节 点接受。 • 所指的消息表示的是一个事务类型的消息,内容包含事务产生的binlog 以及冲突检测时使用到主键以及事务的数据快照版本(gtid_set) • 比较规则。将事务所涉及的主键以及数据版本信息(gtid_set)跟write set 里面的信息进行比较:0 码力 | 32 页 | 9.55 MB | 1 年前3 运维上海2017-从理论到实践,深度解析MySQL Group Replication -徐春阳Paxos协议只实现消息全局排序,不处理冲突。 Paxos��:! • 冲突检查是在执行消息(execute_msg)时发生.前提:消息已经被多数节 点接受。 • 所指的消息表示的是一个事务类型的消息,内容包含事务产生的binlog 以及冲突检测时使用到主键以及事务的数据快照版本(gtid_set) • 比较规则。将事务所涉及的主键以及数据版本信息(gtid_set)跟write set 里面的信息进行比较:0 码力 | 32 页 | 9.55 MB | 1 年前3
 Oracle 和 MySQL 性能优化感悟原理:修改isa指针 isa swizzling 特点:针对一个对象 原理:修改isa指针 基本步骤 应用场景 优点/缺点/坑 isa swizzling 特点:针对一个对象 1、(动态)创建目标类子类 2、(动态)为子类添加方法 3、修改目标对象的isa 原理 基本步骤 应用场景 优点/缺点/坑 isa swizzling+NSProxy 1、从NSProxy派生一个子类,0 码力 | 19 页 | 3.82 MB | 1 年前3 Oracle 和 MySQL 性能优化感悟原理:修改isa指针 isa swizzling 特点:针对一个对象 原理:修改isa指针 基本步骤 应用场景 优点/缺点/坑 isa swizzling 特点:针对一个对象 1、(动态)创建目标类子类 2、(动态)为子类添加方法 3、修改目标对象的isa 原理 基本步骤 应用场景 优点/缺点/坑 isa swizzling+NSProxy 1、从NSProxy派生一个子类,0 码力 | 19 页 | 3.82 MB | 1 年前3
共 9 条
- 1













