Я скинув базу даних MySQL `performance_schema`, як я можу її створити?


10

Виправляючи проблему з ibdata / log, я випадково скинув свою performance_schemaбазу даних, я хотів би створити нову.

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: видалено performance_schema, це проблема?

Будь-які думки?

Відповіді:


17

Таблиці в базі даних performance_schema - це набір переглядів та тимчасових таблиць, які не зберігають дані постійно. Команда mysql_upgrade відновить базу даних performance_schema

З оболонки

mysql_upgrade --user=root --password=password

2
Перезавантажте mysqlсервіс після цього! Він працював лише після перезавантаження для мене.
цезарсол

-1

Він натякає на те, що ДРОБУВАТИ ДАТАБАЗУ підлягає відновленню, але лише в непарних умовах я не знайомий з http://dev.mysql.com/doc/refman/5.0/uk/binary-log.html

За документами, бінлоги - це лише послідовність команд, що виконуються на основі заданої точки відліку. Так що, коли ви робили "DROP DATABASE", замість того, щоб робити "О, гені відкидаючи базу даних, ми повинні створити резервну копію зараз на всякий випадок", вона просто написала "DROP DATABASE" в останній бінлог. Відновлення не так просто, як відтворення стрічки назад.

Що потрібно зробити, це відновити базу даних з останнього відомого товару та застосувати бінлоги, які трапилися між цією точкою відновлення та командою DROP.

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

Як визначати, які бінлоги використовувати Тхо, незрозуміло.

Немає нічого кращого, ніж повне резервне копіювання файлової системи. І вам, принаймні, слід було б повернутися до них.


1
Мені не цікаво відновити дані, які там були, лише те, що показники ефективності можна збирати / зберігати заново. Для цього працював рішення Крейга Ефрейна.
Ялівець X

-1. Дані схеми продуктивності не копіюються, у бінлозі немає нічого для відновлення (а в 5.0 він все одно не існує).
Марк Альфф
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.