मैंने MySQL के `performance_schema` डेटाबेस को गिरा दिया, मैं इसे कैसे बना सकता हूं?


10

एक ibdata / लॉग समस्या को ठीक करते समय, मैंने गलती से अपना 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: हटाए गए प्रदर्शन_केम, क्या यह एक समस्या है?

कोई विचार?

जवाबों:


17

में टेबल्स performance_schema डेटाबेस विचारों और अस्थायी तालिकाओं डेटा स्थायी रूप से स्टोर नहीं है का एक संग्रह कर रहे हैं। Mysql_upgrade आदेश performance_schema डेटाबेस पुनर्स्थापित कर देगा

खोल से

mysql_upgrade --user=root --password=password

2
mysqlऐसा करने के बाद सेवा को पुनरारंभ करें! मेरे लिए पुनरारंभ के बाद ही इसने काम किया।
कैसरसोल

-1

यह DROP DATABASE को पुनर्प्राप्त करने योग्य बनाता है, लेकिन केवल विषम परिस्थितियों में मैं http://dev.mysql.com/doc/refman/5.0/en/binary-log.html से परिचित नहीं हूं

डॉक्स के अनुसार, बिनलॉग केवल दिए गए संदर्भ बिंदु के आधार पर निष्पादित कमांड का एक अनुक्रम है। ताकि जब आपने "DROP DATABASE" किया, तो "ओह, जाने के बजाय डेटाबेस को छोड़ने में संकोच करें, हमें अभी वापस आना चाहिए" अगर यह अंतिम द्विप्लोक में "DROP DATABASE" लिखा। टेप के पीछे की तरफ खेलने के लिए रिकवरी उतनी सरल नहीं है।

आपको जो करने की आवश्यकता है वह डेटाबेस को एक अंतिम ज्ञात-अच्छे से पुनर्प्राप्त करना है, और उस पुनर्प्राप्ति बिंदु और डीआरओपी कमांड के बीच हुए बिनलॉग को लागू करना है।

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

कोई यह कैसे निर्धारित करता है कि कौन सा थन का उपयोग करें, अस्पष्ट।

फुल फाइल सिस्टम बैकअप होने से बेहतर कुछ नहीं है। और आपको कम से कम वापस आने के लिए ये होना चाहिए।


1
मुझे वहां मौजूद डेटा को पुनर्प्राप्त करने में कोई दिलचस्पी नहीं है, केवल यह कि प्रदर्शन मेट्रिक्स को फिर से एकत्र / संग्रहीत किया जा सकता है। क्रेग एफ्रेइन के समाधान ने इस उद्देश्य के लिए काम किया।
Juniper X

-1। प्रदर्शन स्कीमा डेटा को दोहराया नहीं गया है, पुनर्प्राप्त करने के लिए बिनलॉग में कुछ भी नहीं है (और यह 5.0 में मौजूद नहीं है)।
मार्क एल्फ
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.