彭立勋_MySQL在云端-挑战、需求、Bug.pdf

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
彭立勋_MySQL在云端-挑战、需求、Bug

MySQL在云端 —— 挑战、需求、Bug TOPIC •  云端MySQL的挑战 •  云端MySQL的需求 •  云端MySQL的Bug 云端MySQL的场景 •  用户行为不可控 •  用户水平不可控 •  用户高峰不可控 •  用户应用不可控 •  中间件要对数据库进行管理 •  中间件的引入要对用户透明 •  如何破解? •  ——定制化MySQL版本,假设用户都是小白 云端MySQL的需求 •  系统账号占用用户资源——多用户组 •  用户表不建主键——隐式主键 •  用户不知道内存占用情况——线程内存监控 •  用户不小心误操作数据——数据闪回 •  连接IP显示为中间件IP——透传用户连接IP 多用户组(1) •  云数据库的权限体系 •  客户账号:供给客户使用的账号,只能操作用户自己的表结 构和数据,不能干预上层调度系统的账号和复制账号的行为 •  管理账号:供给上层调度管理系统使用的账号,用于数据库 状态监控,为客户创建账户,不能干扰客户账号的连接 •  系统账号:用于复制、备份的账户,不能被其他账户干扰 •  MySQL支持的权限体系 •  SUPER用户:可以修改GLOBAL的参数,不受最大连接数限制 •  非SUPER用户:不可以修改GLOBAL的参数,受最大连接数限制 •  显然,只区分SUPER和非SUPER的权限体系不足以支撑云数据库的 场景 多用户组(2) •  我们的改进 •  Root用户组:只有一个ROOT用户,用于初始化和救急 •  Maintain用户组:管理用户组,采用单独的连接数总和限制, 不计入max_connection,自动拥有SUPER权限 •  Sysinfo用户组:系统用户组,采用单独的连接数总和限制, 不计入max_connection •  Normal用户组:普通用户组,采用max_connection限制 •  未来改进方向 •  可以动态添加新的用户组 •  可以为每个用户组设置最大连接数限制 •  可以为每个用户组设置默认权限集 隐含主键(1) •  主键对复制的重要性: •  为了用户数据安全,binlog_format最好设置为ROW •  但是如果ROW格式的Binlog Event在备库Apply时一律采用主键 进行匹配 •  如果表上没有发现主键,自动蜕化为全表扫(版本5.6) 隐含主键(2) •  我们的改进 •  如果遇到无主键表,先看二级索引中是否有唯一键,如果有则 采用唯一键进行匹配 •  如果没有唯一键则看有没有普通索引,有则用第一个最长的索 引进行检索 隐含主键(3) •  最极端的情况:用户的表上没有任何索引?怎么整? •  用户在CREATE TABLE时如果没有任何唯一键且没有定义自增字 段,则自动创建一个自增主键 •  用户在ALTER TABLE时如果要把表修改到无任何唯一键且没有 自增字段的结构,则自动在目标表结构上添加一个自增主键 •  在所有DML操作中隐藏隐含主键的存在 •  在所有逻辑读取操作中隐藏隐含主键(包括逻辑checksum) 隐含主键(4) •  当用户自己意识到了主键很重要时 •  如果用户ALTER TABLE的目标结构中存在任何唯

文档评论(0)

xxj1658888 + 关注
实名认证
内容提供者

教师资格证持证人

该用户很懒,什么也没介绍

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档