Mysqldump के साथ mysql तालिका का बैकअप नहीं ले सकते। चुनें, लॉक TABL कमांड ने 'cond_instances' के लिए इनकार कर दिया [बंद]


15

मुझे mysqldumpmysql रूट उपयोगकर्ता के रूप में चलने में समस्या हो रही है । जब मैं mysqlइस त्रुटि को प्राप्त करने वाली तालिका का बैकअप लेने का प्रयास करता हूं:

mysqldump: Got error: 1142: SELECT,LOCK TABL command denied to user
'root'@'localhost' for table 'cond_instances' when using LOCK TABLES

किसी ने देखा है कि पहले? मैंने अपने mysql और mysqldump के अलग-अलग संस्करण होने के कुछ संदर्भ देखे हैं, लेकिन जब मैं चलाता हूं तो वे उसी निर्देशिका में होते हैं।

मैं MySQL 5.5.8 चला रहा हूं।


1
क्या आप अभी भी त्रुटि करते हैं यदि आप mysqldumpसाथ चलते हैं --skip-add-locks?
मार्टिन

1
अहा, यह तय है। मुझे अभी पता चला कि यह mysql तालिका नहीं थी, यह प्रदर्शन_सहेजा तालिका थी, जिसे मैं कुछ डॉक्स में देखता हूं --स्काइप-ऐड-लॉक्स की आवश्यकता है।
ब्रायन केनेडी

मुझे भी यही समस्या थी ... मैं आटोमिसकलबैक का उपयोग कर रहा हूं मैंने बस पैरामीटर जोड़ा है --single-transactionऔर सही ढंग से काम करता है।
.Cccarrasco

शायद समस्या एक टाइपो हो सकती है? "LOCK TABL" "LOCK TABLE" हो सकता है
rubo77

जवाबों:



20

-स्काइप-ऐड-लॉक काम नहीं करता है:

# mysqldump -u root -p`cat mysqlRoot.txt` --databases performance_schema --routines --quote-names --skip-add-locks > mysql_performance_schema

mysqldump: Got error: 1142: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'cond_instances' when using LOCK TABLES

आप चाहते हैं - इसके बजाय-लॉक-टेबल


1
इसने मेरे लिए यह तय कर दिया। मैंने ऑप्ट-लॉक-तालिकाओं में जोड़ने के लिए ऑप्ट और opt_fullschema की घोषणा को संशोधित करने के लिए (मेरे इंस्टॉल, इन / यूएसआर / लोकल / बिन पर) पर आटोमिसक्लबबैकअप को एडिट किया। नया कॉन्‍फ़िगरेशन ऑप्ट = ('--quote-names' '--opt' '--skip-lock-tables') और opt_fullschema = ('--all-database' '--routines' '--no- डेटा '' -स्काइप-लॉक-टेबल ')
टेड पेनिंग

12

(मुझे पता है कि यह 8 महीने देर से आता है)

यह ताले की समस्या नहीं है, और प्रस्तावित समाधान केवल वास्तविक समस्या को बायपास करते हैं:

एक 5.5 mysqldump आवेदन निर्यात नहीं करना चाहिए performance_schemaपहली जगह में डेटाबेस।

मेरे पिछले अनुभव के आधार पर, मेरा सुझाव है कि mysqldumpआपके द्वारा उपयोग किया गया प्रोग्राम 5.1 संस्करण है। कैसे कहो? मुद्दा:

mysqldump --version

एक 5.1 ग्राहक "भविष्य" के अस्तित्व से अनजान है performance_schemaऔर इसलिए इसे डंप करने का प्रयास करता है। यह अनजान है कि यह नहीं होना चाहिए।

कोशिश करें और 5.5 संस्करण ढूंढें , और इसे डंपिंग के लिए उपयोग करें, बिना सुझाए गए ताले को जोड़कर, और यह अच्छी तरह से काम करना चाहिए।


2
5.5 संस्करण का उपयोग करना और समस्या बनी रहती है
Artfulrobot

1
mysqldump Ver 10.13 Distrib 5.5.32, debian-linux-gnu (x86_64) के लिए एक ही मुद्दा है ...
Piku

2
यदि आप उपर्युक्त कुछ उपयोगकर्ताओं की तरह आटोमिसक्लबैकअप का उपयोग कर रहे हैं, तो आपको अपने आटोमिसिक्लबैकअप में CONFIG_db_exclude पैरामीटर में 'performance_schema' जोड़ने की आवश्यकता है
Matija Nalb

मैं इससे ऊपर के श्लोमी से सहमत हूं कि केवल लूप बंद करने से वास्तविक समस्या दूर हो जाती है। इससे मुझे मदद मिली: askubuntu.com/questions/134670/…
वर्कफ़्लो

0

जैसा कि श्लोमी नोआच ने बताया है, प्रदर्शन_केम का समर्थन नहीं किया जाना चाहिए।

इसे ठीक करने का आसान तरीका यह है कि आप अपनी कॉन्फ़िग फ़ाइल में निम्नलिखित सेट करें:

CONFIG_db_exclude=( 'performance_schema' 'information_schema' )
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.