तो मैं एसडीएल फ़ाइल को आरडीएस (1 जी एमईएम, 1 सीपीयू) में आयात करने का प्रयास करता हूं। एसक्यूएल फ़ाइल एक्सेस अस्वीकार कर दिया गया; आपको इस ऑपरेशन के लिए सुपर विशेषाधिकार (कम से कम एक) की आवश्यकता है
mysql -h xxxx.rds.amazonaws.com -u उपयोगकर्ता -ppass --max-अनुमति पैकेट = 33,554,432 db < db.sql
यह कम से अटक गया 1.4G
की तरह है:ERROR 1227 (42000) at line 374: Access denied; you need (at least one of) the SUPER privilege(s) for this operation
वास्तविक एसक्यूएल सामग्री है:
/*!50003 CREATE*/ /*!50017 DEFINER=`another_user`@`1.2.3.4`*/ /*!50003 TRIGGER `change_log_BINS` BEFORE INSERT ON `change_log` FOR EACH ROW
IF (NEW.created_at IS NULL OR NEW.created_at = '00-00-00 00:00:00' OR NEW.created_at = '') THEN
SET NEW.created_at = NOW();
END IF */;;
another_user
आरडीएस में ही अस्तित्व में नहीं है, तो मैं कार्य करें:
GRANT ALL PRIVILEGES ON db.* TO [email protected]'localhost';
अभी भी कोई भाग्य नहीं है।
आप सही हैं। कारण यह काम नहीं करता है कि किसी अन्य उपयोगकर्ता को 'डेफिनर' के रूप में निर्दिष्ट करते समय लॉग-इन किए गए उपयोगकर्ता के पास 'सुपर' विशेषाधिकार नहीं है (जिसे स्वयं आरडीएस में अनुमति नहीं है) मनमाने ढंग से विशेषाधिकार वृद्धि - अनुमति वाले कार्यक्रमों के साथ चलने की अनुमति देगा डिफ़ॉल्ट रूप से उनके 'डेफिनर' के प्रमाण-पत्र और विशेषाधिकार (कॉलिंग उपयोगकर्ता के रूप में - उनके 'INVOKER') के विपरीत। इसके अलावा [सर्वर फॉल्ट पर] (https://serverfault.com/a/555983/153161)। –
मैन आप एक जीवन बचतकर्ता हैं। अगर मेरी होस्टिंग कंपनी ने निर्यात किया तो मुझे भ्रष्ट डेटाबेस बताएं और पुनर्स्थापित करने के लिए कुछ भी नहीं किया जा सकता था। सही समाधान – Woody
किसी कारण से मुझे +: '' '' '' '' '' '' '' '' '[^'] * '@' [^ '] *' // '-i oldfile.sql''' के बजाय * का उपयोग करना पड़ा था। ' –