• mysql面试指南mysql版本类问题


    你之前工作中使用的是什么版本的mysql?为什么选择这个版本?

    mysql常见的发行版
    - mysql官方版本
    - percona mysql (兼任官方版本,性能高于mysql社区版)
    - mariadb (功能兼容mysql)

    答:贵公司使用的是什么版本的mysql,再结合自己之前的项目经验来讲。
    比如我们之前使用的是percona的mysql版本,这个版本跟官方版本是完全
    兼任的,并且还有mysql企业版才有的功能,用户审计,防火墙,innodb做备份工 具等等,并且性能要好于mysql的官方版本。

    各个发行版之间的区别和缺点

    image

    如何决定是否要对mysql进行升级?如何进行升级?

    1.升级是否可以给业务带来好处。

    • 是否可以解决业务上的某一方面的痛点
      比如:5.6-5.7多线程复制,更好的并发性,减少主从延迟的时间。
      8.0修复了 只复制json中修改的部分。想要提高性能就得升级到8这个版本。
    • 是否可以解决运上的某一方面的疼点
      比如:新版本是否修复了老版本的bug,是否提供了更多的方法来方便我们管理。
      8.0给运维提供了 各种mysql的监控度量值。

    2.升级可能对业务带来的潜在的风险和影响。

    • 对原业务程序的支持是否有影响。
      比如:不同版本的mysql,需要不同版本的jdbc来进行连接
    • 对原业务程序的性能是否有影响
      比如:更新后的查询优化器,不能建立之前的索引的情况下,也可能会对查询带来负面的影响。

    3.定制具体的数据库升级方案。

    • 评估受影响的业务系统
      比如:找出对应的业务系统数据库,找到负责人沟通明确数据的升级时间,并且跟研发确认是否同步数 据库连接驱动版本,明确后制定详细的步骤。
    • 升级的详细步骤
      比如:使用真实的业务数据进行多次测试,
    • 升级后的数据库环境检查
      比如:数据库配置文件参数检查,数据库系统对象的检查,环境检查等。
      有些在新版本中配置参数在新版本是不存在的。可能会造成数据库无法启动。
      mysql upgrade更新系统表。
    • 升级后的业务检查
      比如:保证在高版本业务不受任何影响,可以正常运行。

    4.升级失败后的回滚方案。

    • 升级失败的回滚步骤
      比如:先备份数据库。

    • 回滚后的数据库环境检查

    • 回滚后的业务检查

    主从数据库滚动升级步骤

    • 升级数据库进行备份
    • 升级slave 服务器版本
      (编译安装新版的实例,关闭老版本的实例,启动新版本的实例。)
    • 手动进行主从切换
    • 升级master服务器版本
    • 升级完成之后进行业务检查

    最新的mysql版本是什么?它有什么特性比较吸引你?

    mysql8.0版本主要的新特性

    • 服务器功能

      • 所有猿数据使用innodb引擎储存,无frm文件。
      • 系统表采用innodb储存并采用独立表空间。
      • 支持定义资源管理组(目前仅支持cpu资源)
        命令:create resource group xx type=user VCPU=0 THREAD_PRIORITY=10;
        可以用:select * from information——schema.resource_groups;
        查看所有使用的资源组
        获取进程号: use performance_schema
        定义资源组:set resource group xx for 84;
      • 支持不可见索引和降序索引,支持直方图优化。
      • 支持窗口函数。
      • 支持在线修改全局参数持久化。
    • 用户及安全

      • 默认使用caching_sha2_password认证插件。
      • 新增支持定义角色(role)。
      • 新增密码历史记录功能,限制重复使用密码。
    • innodb功能

      • innodb ddl语句支持原子操作
      • 支持在线修改undo表空间
      • 新增管理视图用于监控innodb表状态
      • 新增innodb_dedicated_server配置项
  • 相关阅读:
    json转成csv文件
    从输入url到页面展示到底发生了什么
    详解定时任务中的 cron 表达式
    创建型模式之简单工厂模式
    MySQL数据分组GROUP BY 和HAVING
    贪心算法
    JavaScript与DOM(下)
    JavaScript与DOM(上)
    Hibernate 的一级缓存和二级缓存总结
    JVM 发生OOM的四种情况
  • 原文地址:https://www.cnblogs.com/quietzpc/p/15764955.html
Copyright © 2020-2023  润新知