ฉันทำฐานข้อมูล `performance_schema` ของ MySQL แล้วฉันจะสร้างมันได้อย่างไร


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บริการใหม่หลังจากทำสิ่งนี้! มันทำงานหลังจากรีสตาร์ทสำหรับฉันเท่านั้น
caesarsol

-1

มันหมายถึง DROP DATABASE ซึ่งสามารถกู้คืนได้ แต่มีเงื่อนไขแปลก ๆ เท่านั้นฉันไม่คุ้นเคยกับhttp://dev.mysql.com/doc/refman/5.0/en/binary-log.html

ตามเอกสาร, binlogs เป็นเพียงลำดับของคำสั่งที่ดำเนินการตามจุดอ้างอิงที่กำหนด ดังนั้นเมื่อคุณทำ "DROP DATABASE" แทนที่จะไปที่ "โอ้คุณกำลังทิ้งฐานข้อมูลเราควรสำรองข้อมูลไว้ในกรณีนี้" มันแค่เขียน "DROP DATABASE" ลงใน binlog สุดท้าย การกู้คืนนั้นไม่ง่ายเหมือนการเล่นเทปถอยหลัง

สิ่งที่คุณต้องทำคือกู้คืนฐานข้อมูลจากครั้งล่าสุดที่รู้จักกันดีและใช้ binlogs ที่เกิดขึ้นระหว่างจุดกู้คืนนั้นและคำสั่ง DROP

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

วิธีหนึ่งกำหนดว่า binlogs ใดที่จะใช้สรรพสินค้า, ไม่ชัดเจน

ไม่มีอะไรดีไปกว่าการสำรองข้อมูลระบบไฟล์แบบเต็ม และอย่างน้อยคุณก็ควรจะมีสิ่งเหล่านี้ที่จะถอยกลับไป


1
ฉันไม่สนใจที่จะกู้คืนข้อมูลที่อยู่ที่นั่นเพียงว่าตัวชี้วัดประสิทธิภาพสามารถรวบรวม / จัดเก็บได้อีกครั้ง โซลูชันของ Craig Efrein ทำงานเพื่อจุดประสงค์นี้
Juniper X

-1 ข้อมูลสกีมาประสิทธิภาพจะไม่ถูกจำลองแบบไม่มีสิ่งใดใน binlog ที่จะกู้คืน (และไม่มีอยู่ใน 5.0 ต่อไป)
Marc Alff
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.