MySQL 5.5, 5.6, 5.7, 8.0 特性对比

MySQL 5.5, 5.6, 5.7, 8.0 特性对比

MySQL 5.5 特性

  • 性能提升:默认InnoDB plugin引擎,表与索引存储在表空间,表大小无限制。
  • 支持dynamic(主键缓存内存)与compressed(支持数据及索引压缩)行格式。
  • InnoDB file format为Barracuda。
  • 优化器改进:ICP,BKA,MRR。
  • 支持半同步Replication,增加Relay Log自我修复功能。
  • 引入红-黑树做插入排序的中间数据结构。
  • 线程池分组排队限流。

MySQL 5.6 特性

  • 默认参数改变:Back_log 排队队列,支持全文索引。
  • 支持online DDL create,alter,drop。
  • 可以在建表时指定表空间位置。
  • 整合了memcached API。
  • innodb只读事务。
  • 减少内部数据结构开销。
  • 统计信息持久化,explain语句支持insert,update,delete,replace操作,并支持JSON格式。

MySQL 5.7 特性

  • 安全性:用户表mysql.user的plugin字段不允许为空,默认值为mysql_native_password。
  • 增加密码过期机制,提供SSL安全访问配置,并且默认连接即采用SSL的加密方式。
  • 灵活性:从5.7.8版本开始,也提供了对JSON的支持。
  • 易用性:MySQL 5.7可以explain一个正在运行的SQL。
  • 可用性:在线设置复制的过滤规则、在线修改buffer pool的大小、在线开启GTID。
  • 性能:临时表的性能改进、加速连接处理、复制性能的改进(支持多线程复制)。
  • 严格性改变:默认启用STRICT_TRANS_TABLES模式。
  • 其他被默认启用的sql mode还有NO_ENGINE_SUBSTITUTION。

MySQL 8.0 特性

  • 新的系统字典表:所有的元数据都用InnoDB引擎进行存储。
  • 安全和用户管理:新增caching_sha2_password认证插件,并且是默认的身份认证插件。权限支持role,新增密码历史记录功能。
  • innodb 增强:新增INFORMATION_SCHEMA.INNODB_CACHED_INDEXES,InnoDB临时表都将在共享临时表空间ibtmp1中创建等。
  • 支持 ALTER TABLESPACE … RENAME TO 语法,支持使用innodb_directories选项在服务器脱机时将表空间文件移动或恢复到新位置。
  • 更好支持文档型数据库和JSON,不可见索引,支持降序索引,支持RANK(), LAG()、NTILE()等函数,正则表达式增强。
  • 配置文件增强:MySQL 8.0版本支持在线修改全局参数持久化。
  • 直方图:MySQL 8.0 版本开始支持期待已久直方图。
  • InnoDB性能提升:废除buffer pool mutex,行缓存,改进扫描性能。
  • 成本模型:InnoDB缓冲区可以估算缓存区中的有多少表和索引,这可以让优化器选择访问方式时知道数据是否可以存储在内存中还是必须存储到磁盘上。
  • 11
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: MySQL 8.0.31 兼容的 JDBC 驱动 Jar 包是 MySQL Connector/J 8.0.31。它是 MySQL 官方提供的 Java 驱动程序,用于连接和操作 MySQL 数据库。您可以从官方网站 https://dev.mysql.com/downloads/connector/j/ 下载该驱动程序。您需要下载适用于 Java 8 或更高版本的版本,以便正常运行。此外,如果您使用 Maven 或 Gradle 等构建工具来管理项目依赖项,您还可以通过查找官方文档来获取相应的依赖代码。使用该驱动程序时,请确保将其添加到您的应用程序 classpath 中,以便正确加载。您可以使用以下代码测试您是否成功获得了 MySQL Connector/J 驱动程序: ```java try { Class.forName("com.mysql.cj.jdbc.Driver"); System.out.println("MySQL JDBC 驱动已加载"); } catch (ClassNotFoundException e) { System.err.println("无法加载 MySQL JDBC 驱动"); e.printStackTrace(); } ``` 如果您看到 "MySQL JDBC 驱动已加载",则说明您成功安装并配置了 MySQL Connector/J 驱动程序。现在,您可以开始在 Java 应用程序中使用 MySQL 数据库了。 ### 回答2: 与mysql8.0.31兼容的jdbc驱动jar包是mysql-connector-java-8.0.31.jar。 JDBC是Java语言中访问数据库的标准API,mysql-connector-java-8.0.31.jar是 MySQL官方提供的 JDBC 驱动程序包,适用于 Java 8、Java 7、MySQL 8.0、MySQL 5.7、MySQL 5.6、MySQL 5.5 和 MySQL 5.1 。 下载mysql-connector-java-8.0.31.jar后,可以通过以下步骤将其添加到Java的classpath中: 1. 在项目中新建lib文件夹,将mysql-connector-java-8.0.31.jar文件复制到该文件夹中。 2. 在项目的classpath中添加对mysql-connector-java-8.0.31.jar的引用。 3. 在代码中加载JDBC驱动程序,例如: ``` Class.forName("com.mysql.cj.jdbc.Driver"); ``` 4. 使用连接字符串连接到MySQL数据库,例如: ``` String url = "jdbc:mysql://localhost:3306/mydatabase?serverTimezone=UTC"; String user = "username"; String password = "password"; Connection conn = DriverManager.getConnection(url, user, password); ``` 5. 开始执行SQL操作,例如: ``` Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("SELECT * FROM mytable"); while (rs.next()) { // 处理结果集 } ``` ### 回答3: 针对MySQL 8.0.31版本,可以使用以下JDBC驱动jar包: 1. MySQL Connector/J 8.0.31:这是官方的MySQL JDBC驱动程序,版本与MySQL 8.0.31兼容。可以从https://dev.mysql.com/downloads/connector/j/网站下载。 2. MariaDB Connector/J 2.7.4:这是MariaDB JDBC驱动程序,可以与MySQL兼容。在此版本中,与MySQL 8.0.31进行了完整测试,可以从https://mariadb.com/downloads/mariadb-connector-j/网站下载。 以上两个驱动都具有完整的功能,可以让您在Java应用程序中连接MySQL 8.0.31数据库。建议使用MySQL官方提供的驱动程序,因为它能够更好地支持MySQL 8.0.31特定的特性和功能。 此外,需要注意的是,导入JDBC驱动器是连接MySQL数据库的先决条件。在编写代码之前,请确保您正确配置了数据库连接。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值