热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

mysql面试指南mysql版本类问题

你之前工作中使用的是什么版本的mysql?为什么选择这个版本?mysql常见的发行版-mysql官方版本-perconamysql(兼任官方版本,性能高于mysql社区版)-mar

你之前工作中使用的是什么版本的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配置项





推荐阅读
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • MySQL数据库锁机制及其应用(数据库锁的概念)
    本文介绍了MySQL数据库锁机制及其应用。数据库锁是计算机协调多个进程或线程并发访问某一资源的机制,在数据库中,数据是一种供许多用户共享的资源,如何保证数据并发访问的一致性和有效性是数据库必须解决的问题。MySQL的锁机制相对简单,不同的存储引擎支持不同的锁机制,主要包括表级锁、行级锁和页面锁。本文详细介绍了MySQL表级锁的锁模式和特点,以及行级锁和页面锁的特点和应用场景。同时还讨论了锁冲突对数据库并发访问性能的影响。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 关于我们EMQ是一家全球领先的开源物联网基础设施软件供应商,服务新产业周期的IoT&5G、边缘计算与云计算市场,交付全球领先的开源物联网消息服务器和流处理数据 ... [详细]
  • 基于事件驱动的并发编程及其消息通信机制的同步与异步、阻塞与非阻塞、IO模型的分类
    本文介绍了基于事件驱动的并发编程中的消息通信机制,包括同步和异步的概念及其区别,阻塞和非阻塞的状态,以及IO模型的分类。同步阻塞IO、同步非阻塞IO、异步阻塞IO和异步非阻塞IO等不同的IO模型被详细解释。这些概念和模型对于理解并发编程中的消息通信和IO操作具有重要意义。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 利用Visual Basic开发SAP接口程序初探的方法与原理
    本文介绍了利用Visual Basic开发SAP接口程序的方法与原理,以及SAP R/3系统的特点和二次开发平台ABAP的使用。通过程序接口自动读取SAP R/3的数据表或视图,在外部进行处理和利用水晶报表等工具生成符合中国人习惯的报表样式。具体介绍了RFC调用的原理和模型,并强调本文主要不讨论SAP R/3函数的开发,而是针对使用SAP的公司的非ABAP开发人员提供了初步的接口程序开发指导。 ... [详细]
  • 本文介绍了在mac环境下使用nginx配置nodejs代理服务器的步骤,包括安装nginx、创建目录和文件、配置代理的域名和日志记录等。 ... [详细]
  • 本文介绍了操作系统的定义和功能,包括操作系统的本质、用户界面以及系统调用的分类。同时还介绍了进程和线程的区别,包括进程和线程的定义和作用。 ... [详细]
  • 本文介绍了一个React Native新手在尝试将数据发布到服务器时遇到的问题,以及他的React Native代码和服务器端代码。他使用fetch方法将数据发送到服务器,但无法在服务器端读取/获取发布的数据。 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了软件测试知识点之数据库压力测试方法小结相关的知识,希望对你有一定的参考价值。 ... [详细]
author-avatar
贺娥岚761
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有