2009-01-29 14 views
29

हाय मैं mysql 5.0.xकैसे एक MySQL में एक स्कीमा नाम बदलने करता

उपयोग कर रहा हूँ मैं एक स्कीमा नाम कैसे बदलूं?

+0

संभावित डुप्लिकेट [मैं कैसे एक MySQL डेटाबेस का नाम बदल सकता हूं (स्कीमा नाम बदलें)?] (Http://stackoverflow.com/questions/67093/how-do-i-quickly-rename-a-mysql-डेटा -change-schema-name) –

उत्तर

-7

5.0 के तहत, आपको डेटाबेस को डंप करने और इसे नए नाम के साथ एक नए डेटाबेस में पुनः लोड करने की आवश्यकता है। यदि आप 5.1 तक अपग्रेड करते हैं, तो आप RENAME डेटाबेस कमांड को देख और उपयोग कर सकते हैं।

+6

अन्य उत्तर देखें। इस समाधान की सिफारिश की जाती है क्योंकि यह आपके डीबी को दूषित कर सकती है। अन्य संस्करणों में इसे अक्षम कर दिया गया है। –

68

नाम बदलें डेटा का उपयोग न करें !!!

प्रारंभिक 5.1 संस्करणों में यह आदेश था लेकिन इसे हटा दिया गया है क्योंकि यह डेटा दूषित कर सकता है (reference)। जाहिर है इस उत्तर दिनांकित इसके ठीक हो जाता है हो जाएगा:

वर्तमान में एक ही रास्ता के रूप में here

संपादित संदर्भित किया जाता

mysqladmin create new_db_name 
mysqldump db_name | mysql new_db_name 

है।

+0

मेरी पुरानी स्कीमा से सामग्री को डंप करना और इसे नए रूप में आयात करना (जैसा ऊपर वर्णित है) ने मेरी टेबल और विचारों को स्थानांतरित किया लेकिन कार्य नहीं किया! – sbrbot

+0

यदि उपयोगकर्ता नाम और पासवर्ड की आवश्यकता है, तो इसे संशोधित किया जा सकता है: 'mysqladmin -u root -pmypassword new_db_name' बनाकर' mysqldump -u root -pmypassword db_name | mysql -u root -pmypassword new_db_name'। यदि प्रतिलिपि के बजाय नाम बदलने की आवश्यकता है, तो इसे 'mysqladmin -u root -pmypassword ड्रॉप db_name' से पूरा करें। –

+0

डेटाबेस वर्णमाला या तो स्थानांतरित नहीं किया गया था। जैसे मेरे पुराने डीबी के लिए वर्णसेट utf8 था और नया डीबी लैटिन 1 है। – Hussain

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