首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我删除了MySQL的`performance_schema`数据库,如何创建它?

我删除了MySQL的`performance_schema`数据库,如何创建它?
EN

Database Administration用户
提问于 2014-01-15 11:41:03
回答 2查看 16.2K关注 0票数 13

在修复ibdata/log问题时,我意外地删除了我的performance_schema数据库,我想创建一个新的数据库。

代码语言:javascript
复制
mysql> SHOW VARIABLES LIKE 'perf%';
+---------------------------------------------------+---------+
| Variable_name                                     | Value   |
+---------------------------------------------------+---------+
| performance_schema                                | ON      |
| performance_schema_events_waits_history_long_size | 10000   |
| performance_schema_events_waits_history_size      | 10      |
| performance_schema_max_cond_classes               | 80      |
| performance_schema_max_cond_instances             | 1000    |
| performance_schema_max_file_classes               | 50      |
| performance_schema_max_file_handles               | 32768   |
| performance_schema_max_file_instances             | 10000   |
| performance_schema_max_mutex_classes              | 200     |
| performance_schema_max_mutex_instances            | 1000000 |
| performance_schema_max_rwlock_classes             | 30      |
| performance_schema_max_rwlock_instances           | 1000000 |
| performance_schema_max_table_handles              | 100000  |
| performance_schema_max_table_instances            | 50000   |
| performance_schema_max_thread_classes             | 50      |
| performance_schema_max_thread_instances           | 1000    |
+---------------------------------------------------+---------+
16 rows in set (0.06 sec)

这些变量对我来说似乎很好。

下面的问题提出了同样的问题,但是用户的结论是,他们能够通过以下文档创建它,而我在文档中找不到这样的说明。

Mysql:已删除的性能_模式,这是个问题吗?

有什么想法吗?

EN

回答 2

Database Administration用户

回答已采纳

发布于 2014-01-15 15:58:01

性能_模式数据库中的表是不永久存储数据的视图和临时表的集合。mysql_升级命令将恢复performance_schema数据库

从外壳

代码语言:javascript
复制
mysql_upgrade --user=root --password=password
票数 20
EN

Database Administration用户

发布于 2014-01-17 09:38:45

它暗示删除数据库是可恢复的,但只有在奇怪的情况下,我不熟悉http://dev.mysql.com/doc/refman/5.0/en/binary-log.html

根据Docs,binlog只是基于给定的引用点执行的一系列命令。所以,当你做“删除数据库”,而不是“哦,他掉了数据库,我们应该现在备份,以防万一”,它只是写了一个“拖数据库”到最后一个二进制日志。恢复并不像向后播放磁带那么简单。

您需要做的是从最后一个已知的很好的地方恢复数据库,并应用在恢复点和DROP命令之间发生的绑定日志。

http://dev.mysql.com/doc/refman/5.0/en/recovery-from-backups.html

如何确定哪些绑定日志使用这一点,尚不清楚。

没有什么比拥有完整的文件系统备份更好的了。你至少应该把这些放回去。

票数 -2
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/56812

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档