首页 > 数据库 >【MySQL 8+】CRUD等操作修改数据库的表后,数据库中表相关信息与数据库工具所展示的信息不一致

【MySQL 8+】CRUD等操作修改数据库的表后,数据库中表相关信息与数据库工具所展示的信息不一致

时间:2024-01-20 17:22:28浏览次数:36  
标签:information 数据库 MySQL CRUD 博客 表后 mysql schema

相关转载:

mysql8.0 数据库中表的行数不显示,大小也不显示_-CSDN问答

MySQL8.0 存储表的行数和修改日期不自动更新的问题_mysql表插入数据,但是修改日期无值-CSDN博客

=============================================================

个人总结:

本人一开始上手的就是MySQL8+的版本(现在算是知道为啥很多都在5.6版本左右了XD)

MySQL8前,会通过information_schema的表来获取一些元数据,例如auto_increment,indexes表获取索引等,我们利用一些数据库工具,例如dbeaver或者Navicat等,可以很直观地看到这些信息;

 但是MySQL8后,这些数据就不那么准确了,具体表现为:对数据库进行写或者删,修改自增值等这些操作后,保存,发现它展示的数据和实际出入相差甚远(后来发现只是信息没有同步,但是实际的数据库是没有问题的),看了参考后,应该是数据字典的缓存有问题,没有实时更新真实的数据。

 

那么最简单粗暴的解决方法,使用数据库命令去立即更新信息:

analyze table 表名

但是参考也提到,每次都要手动更新,那么tables表存在的意义就不大了,因此参考文章,修改字典缓存的更新速率(它默认是86400,也就是24小时,把它改为0,即可实现实时更新)

设置的相关操作参考:MySQL设置information_schema_stats_expiry 为0_mob64ca12df277e的技术博客_51CTO博客

本人是windows版的mysql,进入到安装的文件夹中,找到my.ini文件,打开(记事本开就行),在最下面添加这段:

information_schema_stats_expiry=0

保存,重启mysql服务(我直接重启电脑...)

重启MySQL教程:MySQL_Windows 下重启MySQL服务_win7 mysql重启bin目录下的-CSDN博客,大差不差!

MySQL设置information_schema_stats_expiry 为0_mob64ca12df277e的技术博客_51CTO博客

标签:information,数据库,MySQL,CRUD,博客,表后,mysql,schema
From: https://www.cnblogs.com/MorningMaple/p/17976775

相关文章

  • dotnet 多数据库 sqlite efcore model和entity区别 一对多 多对一 多对多
    efcore-multi-db/MultiDb.slnMicrosoftVisualStudioSolutionFile,FormatVersion12.00#VisualStudio15VisualStudioVersion=15.0.27130.2024MinimumVisualStudioVersion=10.0.40219.1Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}")="......
  • dotnet efcore 多数据库 使用
    efcore的使用依赖包efcore-multi-db/MultiDb.Two/MultiDb.Two.csproj<ProjectSdk="Microsoft.NET.Sdk"><PropertyGroup><TargetFramework>net7.0</TargetFramework></PropertyGroup><ItemGroup><Packa......
  • oracle数据库检测
    连接数--数据库连接数selectcount(*)fromv$process;--数据库允许的最大连接数selectvaluefromv$parameterwherename='processes';--session连接数selectcount(*)fromv$session;--并发连接数selectcount(*)fromv$sessionwherestatus='ACTIVE';表空......
  • Jmeter之配置数据库连接
    一前言环境Jmeter5.3window10下面介绍如何在Jmeter中查询mysql数据库二mysql数据库查询要查询mysql数据库,需要用到两个Jmeter组件,配置原件中的JDBCConnectionConfiguration和请求中的JDBCRequestJDBCConnectionConfiguration的作用是根据相关配置创建一个数据库连......
  • 自动化复习巩固第五天封装数据库及断言方法
     方法1:处理数据库方法说明:数据库配置文件,主要存放数据库连接信息settings.py文件mysql_info={  "host":"xxxxx",  "user":"xxxxx",  "password":"xxxxx",  "port":3306,  "charset":"utf8mb4&......
  • SQL Server 清除一个数据库下所有表数据,保留表结构
    用法:在需要清空数据的数据库创建并执行存储过程,该存储过程并不会影响其他数据库❗请小心使用这些脚本,确保在生产环境之前备份您的数据库。⚠️存储过程:CREATEPROCEDUREClearAllTablesASBEGINDECLARE@TableNameNVARCHAR(255)DECLAREtableCursorCURSORFOR......
  • HHDESK端口转发监控服务获取客户端和数据库之间的交互信息
    1.用户痛点端口转发是一种网络技术,用于将外部网络请求转发到内部网络中的特定设备或服务。它允许通过公共网络访问内部网络中的资源,提供了灵活性和便利性。传统的端口转发方式是通过配置路由器的端口映射,但这需要具备网络知识和一定的技术操作,对于一般用户来说较为繁琐。而HHDESK......
  • C++ Qt开发:Charts与数据库组件联动
    Qt是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍Charts组件与QSql数据库组件的常用方法及灵活运用。在之前的文章中详细介绍了关于QCharts绘图组件......
  • Jmeter、postman、python 三大主流技术如何操作数据库?
    1、前言只要是做测试工作的,必然会接触到数据库,数据库在工作中的主要应用场景包括但不限于以下:功能测试中,涉及数据展示功能,需查库校验数据正确及完整性;例如商品搜索功能自动化测试或性能测试中,某些接口要跑通,需要关联到数据库操作;例如注册接口中短信验证码获取自动化测试中......
  • 用 CloudCanal 做跨互联网数据库双向同步
    简介CloudCanal推出跨互联网安全数据同步方案之后,有一些商业客户落地,效果良好,不过客户也反馈了一些改进和新需求,其中最大的一个需求即双向同步防循环。近期CloudCanal版本支持了这个特性,整体方案进一步升级,最大特点包括:两端数据库完全不开放公网端口两端数据库可双向同......