Larguei o banco de dados `performance_schema` do MySQL, como posso criá-lo?


10

Ao corrigir um problema ibdata / log, deixei cair meu performance_schemabanco de dados acidentalmente , gostaria de criar um novo.

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)

Essas variáveis ​​parecem estar bem para mim.

A pergunta a seguir faz a mesma coisa, no entanto, o usuário conclui que foi capaz de criá-lo seguindo a documentação na qual não encontrei essas instruções.

mysql: deletado performance_schema, isso é um problema?

Alguma ideia?

Respostas:


17

As tabelas no banco de dados performance_schema são uma coleção de visualizações e tabelas temporárias que não armazenam dados permanentemente. O comando mysql_upgrade restaurará o banco de dados performance_schema

Da casca

mysql_upgrade --user=root --password=password

2
Reinicie o mysqlserviço depois de fazer isso! Funcionou apenas após o reinício para mim.
— caesarsol

-1

Alude à recuperação do DROP DATABASE, mas apenas em condições estranhas não conheço http://dev.mysql.com/doc/refman/5.0/en/binary-log.html

Segundo o Docs, os binlogs são apenas uma sequência de comandos executados com base em um determinado ponto de referência. Assim, quando você fez "DROP DATABASE", em vez de "Ah, ele está descartando o banco de dados, devemos fazer o backup agora apenas por precaução", apenas escreveu "DROP DATABASE" no último binlog. A recuperação não é tão simples quanto reproduzir a fita ao contrário.

O que você precisa fazer é recuperar o banco de dados de um último bem conhecido e aplicar os binlogs que ocorreram entre esse ponto de recuperação e o comando DROP.

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

Como alguém determina quais binlogs usar, não está claro.

Não há nada melhor do que ter backups completos do sistema de arquivos. E você deve pelo menos ter isso para recorrer.


11
Não estou interessado em recuperar os dados que estavam lá, apenas que as métricas de desempenho possam ser coletadas / armazenadas novamente. A solução de Craig Efrein funcionou para esse fim.
— Juniper X

-1. Os dados do esquema de desempenho não são replicados, não há nada no binlog para recuperar (e eles não existem no 5.0 de qualquer maneira).
— Marc Alff
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.