2014-09-19 12 views
5

मेरी डेटाबेस बैकअप और निर्यात में मैं निम्नलिखित की तरह कुछ मिलता है:mysqldump बिना एल्गोरिथ्म "बनाएँ" और "Definer"

/*!50001 DROP TABLE `vTime`*/; 
/*!50001 DROP VIEW IF EXISTS `vTime`*/; 
/*!50001 CREATE ALGORITHM=UNDEFINED */ 
/*!50013 DEFINER=`db_user`@`%` SQL SECURITY DEFINER */ 
/*!50001 VIEW `vTime` AS select ... */; 
  1. यह कब से "बनाने एल्गोरिथ्म" और "Definer बहाल समस्याओं का कारण बनता "बहाल करने की कोशिश करते समय भागों विफल। क्या mysqldump बनाने का कोई तरीका है बस इसके बजाय एक साधारण CREATE VIEW करें?

  2. बोनस प्रश्न: /*!50001 भागों का क्या अर्थ है?

संपादित करें: मैं जोड़ने चाहिए कि इस त्रुटि मैं हो रही है:

#1227 - Access denied; you need (at least one of) the SUPER privilege(s) for this operation

संपादित करें 2: ऐसा लगता है कि केवल /*!50013 DEFINER= भाग विफल हो रहा है।

उत्तर

2

/*! 50001 भाग एक संस्करण संख्या है।

सवाल पहले से ही यहाँ जवाब था: MySQL flags in dumps

Definer को दूर करने के मुख्य मुद्दा सबसे अच्छा एक स्क्रिप्ट के साथ किया जाता है। कुछ उदाहरणों में पहले से ही ऑनलाइन:

https://dbperf.wordpress.com/2010/04/12/removing-definer-from-mysql-dump/

Remove DEFINER clause from MySQL Dumps

संबंधित मुद्दे