出现错误mysql Table ‘performance_schema…解决办法
测试环境搭了一个mariadb 5.7,使用jdbc驱动 <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.34</version> </dependency> 在hibernate工程中正常。 临时搭建了一个jdbc的简单工程,发现连接数据库报错: Table 'performance_schema.session_variables' doesn't exist 问度娘无果,无奈升级MySQL驱动为5.1.36,解决。 据了解: 在MySQL数据库系统中,`performance_schema`是一个特殊的存储引擎,自MySQL 5.5版本引入,主要用于监控和分析服务器性能。这个存储引擎提供了一系列表,用于记录和展示关于数据库操作的详细信息,如进程等待时间、锁信息、互斥变量等,帮助数据库管理员(DBA)诊断性能问题和优化数据库配置。 在上述描述中,遇到的问题是当使用MySQL 5.1.34版本的`mysql-connector-java` JDBC驱动尝试连接MariaDB 5.7时,出现了“Table 'performance_schema.session_variables' doesn't exist”的错误。这是因为`performance_schema`是在较新版本的MySQL中引入的,而旧版本的驱动可能不支持或者不完全支持这个特性。升级JDBC驱动至5.1.36后,这个问题得到了解决,表明新版本的驱动包含了对`performance_schema`的支持。 `performance_schema`提供了以下几个关键功能: 1. **进程等待信息**:它跟踪并记录了每个线程的等待事件,比如锁等待、互斥变量等待等,这有助于识别导致性能瓶颈的原因。 2. **事件统计**:它保存了历史的事件信息,如查询执行次数、执行时间等,这些数据可以帮助分析服务器性能趋势。 3. **动态监控**:用户可以方便地添加或移除监控事件,调整监控周期,以适应不同的性能分析需求。 开启`performance_schema`的方法是在`my.cnf`配置文件的`[mysqld]`部分添加`performance_schema=ON`。之后,通过运行`SHOW VARIABLES LIKE 'performance_schema';`命令,可以检查该特性是否已启用。如果返回的值为`ON`,则表示`performance_schema`已经启动并可供使用。 值得注意的是,虽然`performance_schema`提供了强大的性能监控功能,但它也会占用一定的系统资源,如内存和磁盘空间。因此,对于资源有限的环境,可能需要谨慎开启或调整其监控级别。 在MySQL 5.7中,除了`performance_schema`,还有`sys schema`,这是一个提供易读性性能信息视图的集合,旨在简化性能分析。同时,`information_schema`是另一个重要的内置数据库,包含所有数据库对象的元数据,如表、列、索引等信息,而`mysql`数据库则包含了系统和管理相关的表。 `performance_schema`是MySQL提供的一种强大工具,用于性能诊断和调优,尤其是在大型复杂的应用环境中,它的价值更为显著。正确理解和使用这个特性,可以有效地提升数据库的性能和稳定性。
- 粉丝: 4
- 资源: 925
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C语言-leetcode题解之70-climbing-stairs.c
- C语言-leetcode题解之68-text-justification.c
- C语言-leetcode题解之66-plus-one.c
- C语言-leetcode题解之64-minimum-path-sum.c
- C语言-leetcode题解之63-unique-paths-ii.c
- C语言-leetcode题解之62-unique-paths.c
- C语言-leetcode题解之61-rotate-list.c
- C语言-leetcode题解之59-spiral-matrix-ii.c
- C语言-leetcode题解之58-length-of-last-word.c
- 计算机编程课程设计基础教程