暂无图片
mysql8.0 如何删除系统库
我来答
分享
张欣
2024-04-25
mysql8.0 如何删除系统库

mysql 8.0之后的版本,系统库(例如mysql)有办法可以drop掉吗?

我来答
添加附件
收藏
分享
问题补充
4条回答
默认
最新
一般

1.information_schema
NFORMATION_SCHEMA提供对数据库元数据的访问 ,有关MySQL服务器的信息,例如数据库或表的名称,列的数据类型或访问权限。
关于里面各表的作用参考官方链接
https://dev.mysql.com/doc/refman/8.0/en/information-schema.html

2.mysql
mysql的核心数据库,主要负责存储数据库的用户、权限设置、关键字等mysql自己需要使用的控制和管理信息.

3.perfrmace_schema
performance_schema 主要用于收集存放数据库的性能参数,它是使用 PERFORMANCE_SCHEMA存储引擎和performance_schema数据库实现的。性能模式主要关注性能数据。这与INFORMATION_SCHEMA用于检查元数据的不同。
官方链接
https://dev.mysql.com/doc/refman/8.0/en/performance-schema.html

4.sys
MySQL 8.0包含 sys模式,这是一组帮助DBA和开发人员解释性能模式收集的数据的对象。sys模式对象可用于典型的调优和诊断用例。此架构中的对象包括:
将Performance Schema数据汇总为更易于理解的形式的视图。
执行诸如性能架构配置和生成诊断报告等操作的存储过程。
存储函数,用于查询性能架构配置并提供格式化服务。
https://dev.mysql.com/doc/refman/8.0/en/sys-schema.html

暂无图片 评论
暂无图片 有用 2
打赏 0
张欣
题主
2024-04-28
其实我是想对mysql8.0版本通过逻辑备份恢复的方式做异机恢复,然而现在遇到的问题就是系统库无法进行恢复
星星之火

在 MySQL 8.0 中,系统库(如 mysqlperformance_schemasysinformation_schema 等)是 MySQL 服务器运行所必需的,它们包含了服务器的元数据、性能监控数据以及其它关键信息。因此,通常不建议直接删除或修改这些系统库

如果你尝试删除这些系统库,可能会导致 MySQL 服务器不稳定、数据丢失或完全无法启动。

但是,如果你确实需要清理或重置某些系统库的内容(尽管这通常不是推荐的做法),你可以考虑以下方法:

  1. 备份: 在进行任何可能影响数据完整性的操作之前,务必先备份你的数据。
  2. 重置 mysql 库: 如果你只是想重置 mysql 库(例如,删除所有用户和权限),你可以考虑使用 mysql_install_db 工具重新初始化它。但请注意,这将删除所有用户和权限,并可能需要你重新配置整个 MySQL 服务器。
  3. 清理 performance_schema: 对于 performance_schema,你可以通过删除旧的监控数据来清理它,但这通常是通过配置自动清理来实现的,而不是直接删除库。
  4. 不要尝试删除 information_schema 或 sysinformation_schema 包含了关于所有其他数据库的信息,而 sys 是一个帮助数据库管理员更好地理解和管理 MySQL 服务器的视图和函数集。直接删除它们会导致 MySQL 无法正常工作。
  5. 使用第三方工具: 有一些第三方工具和脚本可能提供清理或重置系统库的功能,但使用它们之前务必进行充分的测试和验证。
  6. 考虑升级或迁移: 如果你发现你的 MySQL 服务器经常需要清理或重置系统库,这可能意味着你的数据库管理策略需要改进。考虑升级到更高级的数据库管理系统或实施更稳健的数据库维护策略。

总之,直接删除 MySQL 的系统库是一个危险且通常不必要的操作。在尝试任何可能影响数据完整性或服务器稳定性的操作之前,务必确保你完全了解这些操作的后果,并始终备份你的数据。

暂无图片 评论
暂无图片 有用 0
打赏 0
张欣
题主
2024-04-28
其实我是想对mysql8.0版本通过逻辑备份恢复的方式做异机恢复,然而现在遇到的问题就是系统库无法进行恢复
一般

你要把备份还原的操作过程及恢复时的错误信息说一下

暂无图片 评论
暂无图片 有用 0
打赏 0
大大刺猬

既然是恢复的话, 直接删表就可以啊. 本来逻辑备份恢复就是这个原理…

注: 8.0的统计信息表不会被删除.直接更新即可.
sys下面的是视图, 就当作普通库就行.

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
mysql实例下的部分库同步
回答 1
当然可以,需要设置过滤选型以忽略特定数据库SETGLOBALreplicatewildignoretable'数据库名.%';将'数据库名'替换为要忽略的数据库名,例如'testdb'https://
Ubuntu mysql中文乱码修改完没效果
回答 2
请发一下建表语句showcreatetable<tablename>出来,另外,shell的环境变量也发一下,操作系统命令为env,解决乱码需要数据库表数据,数据库设置,客户端环境都一致才
MySQL 怎么把union all查询出来的数据变成一行?
回答 1
已采纳
selectcount(),0gdjyxxx,0gdjyxxx,0gdjyxxxfromjzgjcsjzlbwheresubstr(txrq,0,4)tochar(sysdate,'yyyy')
以前学mysql经常会用到create database xxxx,但是oracle里好像不需要,为什么oracle不需要create database?
回答 4
你可以简单的理解为Oracle的database就像MySQL的实例一样,你能连进去,数据库已经创建好了。你需要做的是创建用户,同时会自动重建一个schema,这个比较像MySQL的database。
mysql数据库中如何才能实现分组内排序?
回答 1
已采纳
SELECTid,sl1,rankFROM(SELECTt.,IF(@pid,@r:@r1,@r:1)ASrank,@p:idFROMt,(SELECT@p:NULL,@r:0)rORDERBYid)
mysql启动失败
回答 2
尝试用innodbforcerecovery看看能不能拉起来
oracle instr函数模糊查询 当第二个参数要匹配的字符串没有传的时候,查询不出来结果,怎么处理?
回答 2
不同的数据库,对于同一个函数,的确会有不一样的情况,你想让这个sql能查出结果,除非修改oracle的标准包,否则就只能换写法
启动mysql进程
回答 9
你的启动方式应该有问题,看看你是怎么启动的?可以使用mysqldsafedefaultsfile/a/b/c/my.cnfusermysql&这样的方式,它就会去my.cnf里面找你的sock
MYSQL 如何看出执行计划里面 依赖子查询的执行次数?
回答 1
已采纳
如果是嵌套的话,子查询查出多少就是循环多少次
mysql导出到csv,由于字段中出现逗号被误分隔
回答 3
selectintooutfile‘/var/lib/mysqlfiles/xxx.csv’CHARACTERSETgbkfieldsterminatedby‘|’optionallyenclosed
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~