Tôi đã bỏ cơ sở dữ liệu `Performance_schema` của MySQL, làm cách nào để tạo nó?


10

Trong khi sửa lỗi ibdata / log, tôi đã vô tình đánh rơi performance_schemacơ sở dữ liệu của mình , tôi muốn tạo một cái mới.

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)

Những biến đó có vẻ tốt với tôi.

Câu hỏi sau đây cũng hỏi điều tương tự, tuy nhiên người dùng kết luận rằng họ có thể tạo nó bằng cách làm theo tài liệu mà tôi không thể tìm thấy hướng dẫn như vậy.

mysql đã xóa Performance_schema, nó có phải là một vấn đề không?

Có suy nghĩ gì không?

Câu trả lời:


17

Các bảng trong cơ sở dữ liệu Performance_schema là một tập hợp các khung nhìn và các bảng tạm thời không lưu trữ dữ liệu vĩnh viễn. Lệnh mysql_upTHER sẽ khôi phục cơ sở dữ liệu Performance_schema

Từ vỏ

mysql_upgrade --user=root --password=password

2
Khởi động lại mysqldịch vụ sau khi làm điều này! Nó chỉ hoạt động sau khi khởi động lại cho tôi.
caesarsol

-1

Nó ám chỉ DROP DATABASE có thể phục hồi được, nhưng chỉ trong những điều kiện kỳ ​​lạ, tôi không quen với http://dev.mysql.com/doc/refman/5.0/en/binary-log.html

Theo Docs, binlog chỉ là một chuỗi các lệnh được thực thi dựa trên một điểm tham chiếu đã cho. Vì vậy, khi bạn đã thực hiện "DROP DATABASE", thay vì đi "Oh, do đó, làm hỏng cơ sở dữ liệu, chúng ta nên sao lưu ngay bây giờ chỉ trong trường hợp", nó chỉ đơn thuần viết "DROP DATABASE" cho binlog cuối cùng. Phục hồi không đơn giản như chơi băng ngược.

Những gì bạn cần làm là khôi phục cơ sở dữ liệu từ một hàng hóa đã biết trước và áp dụng các binlog đã xảy ra giữa điểm khôi phục đó và lệnh DROP.

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

Làm thế nào một người xác định binlogs để sử dụng tho, không rõ ràng.

Không có gì tốt hơn là có bản sao lưu hệ thống tập tin đầy đủ. Và ít nhất bạn nên có những thứ này để quay trở lại.


1
Tôi không quan tâm đến việc khôi phục dữ liệu ở đó, chỉ có thể thu thập / lưu trữ các số liệu hiệu suất một lần nữa. Giải pháp của Craig Efrein đã làm việc cho mục đích này.
Juniper X

-1. Dữ liệu lược đồ hiệu suất không được sao chép, không có gì trong binlog để khôi phục (và dù sao nó cũng không tồn tại trong 5.0).
Marc Alff
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.