2010-03-11 16 views

उत्तर

137
cat filename.sql | mysql -u username -p # type mysql password when asked for it 

कहाँ filename.sql सभी अपने डेटाबेस बनाने के लिए एसक्यूएल रखती है। या ...

echo "create database `database-name`" | mysql -u username -p 

यदि आप वास्तव में केवल डेटाबेस बनाना चाहते हैं।

+1

मुझे यह त्रुटि ERROR 1046 (3D000) लाइन 27 पर मिलती है: कोई डेटाबेस चयनित नहीं है जब मैं echo चलाता हूं "डेटाबेस डेटाबेसबेस बनाएँ" | mysql -u -u उपयोगकर्ता नाम -p कमांड – keerthi

+0

@keerthi: शायद आपके उपयोगकर्ता के पास किसी मौजूदा स्कीमा पर विशेषाधिकार नहीं हैं? – Kris

+1

ऐसा इसलिए है क्योंकि दो '-उ' झंडे – Stephen

7

आप कमांड लाइन पर SQL उपयोग कर सकते हैं:

echo 'CREATE DATABASE dbname;' | mysql <...> 

या आप mysqladmin उपयोग कर सकते हैं:

mysqladmin create dbname 
164

आप जबकि mysql पर्यावरण मतलब है?

create database testdb; 

या सीधे कमांड लाइन से:

mysql -u root -e "create database testdb"; 
+8

mysql -u root -e "डेटाबेस testdb बनाएं"; जो कुछ मैं ढूंढ रहा था :) धन्यवाद – koszikot

+1

यदि आपके पास पासवर्ड है, तो बस -p जोड़ें। प्रवेश करने के बाद, आपको अपना पासवर्ड पूछा जाएगा। निम्नलिखित मेरे उपयोगकर्ता का उपयोग करने वाला एक उदाहरण है जो रूट है (यदि आपके पास एनीटर उपयोगकर्ता नाम है तो इसे बदलें) और यह डेटाबेस के लिए "oc_local" नाम का भी उपयोग करता है (यदि आप अपने डेटाबेस को अलग तरीके से कॉल करना चाहते हैं तो इसे बदलें) - ----> mysql -u root -p -e "डेटाबेस oc_local बनाएँ"; – pablofiumara

62

यदि आप कोई नया डेटाबेस बनाते हैं तो उपयोगकर्ता को केवल इस डेटाबेस के लिए अनुमतियों के साथ बनाना अच्छा होता है (यदि कुछ गलत हो जाता है तो आप रूट उपयोगकर्ता लॉगिन और पासवर्ड से समझौता नहीं करेंगे)। तो सब कुछ एक साथ इस तरह दिखेगा:

mysql -u base_user -pbase_user_pass -e "create database new_db; GRANT ALL PRIVILEGES ON new_db.* TO [email protected] IDENTIFIED BY 'new_db_user_pass'" 

कहाँ:
base_user सभी विशेषाधिकारों के साथ उपयोगकर्ता के लिए नाम (शायद रूट)
base_user_pass यह base_user के लिए पासवर्ड (बीच की जगह की कमी है -पी और base_user_pass महत्वपूर्ण है)
new_db नव निर्मित डेटाबेस के लिए नाम है
new_db_user नए हमारे लिए नाम है एर केवल new_db
new_db_user_pass के लिए उपयोग के साथ यह new_db_user के लिए पासवर्ड

+0

भारी। बस इस महान एक लाइनर को डैशडॉक्स स्निपेट में जोड़ा गया। यदि किसी के पास रिक्त स्थान के साथ रूट पासवर्ड है: '-p" रूट पासवर्ड यहां "' ठीक काम करता है – hmedia1

30
mysqladmin -u$USER -p$PASSWORD create $DB_NAME 

चर ऊपर की जगह है और आप इस oneliner साथ जाने के लिए अच्छे हैं। $ उपयोगकर्ता उपयोगकर्ता नाम है, $ PASSWORD पासवर्ड है और $ DB_NAME डेटाबेस का नाम है।

+0

यह सर्वोत्तम समाधान है जो यह सही काम करता है –

1

कनेक्ट उपयोगकर्ता आधार का उपयोग कर डीबी के लिए: mysql -u base_user -pbase_user_pass और डेटाबेस बनाएँ उपयोगकर्ता बनाएं और अनुदान विशेषाधिकार स्टेटमेंट्स को निष्पादित।

यहाँ बयान www.bugaco.com/helpers/create_database.html

15

उपयोग

$ mysqladmin -u <db_user_name> -p create <db_name> 

आप पासवर्ड के लिए प्रेरित किया जाएगा के साथ आप मदद करने के लिए काम वेब जादूगर है। यह भी सुनिश्चित करें कि आपके द्वारा उपयोग किए जाने वाले mysql उपयोगकर्ता को डेटाबेस बनाने के लिए विशेषाधिकार हैं।

4

आईएसटी और दूसरा उत्तर अच्छा है, लेकिन अगर कोई स्क्रिप्ट प्राप्त करने की तलाश में है या यदि आप गतिशील चाहते हैं I।ई (डीबी/उपयोगकर्ता नाम/पासवर्ड परिवर्तनीय) तो यहां:

#!/bin/bash 



DB="mydb" 
USER="user1" 
PASS="pass_bla" 

mysql -uroot -prootpassword -e "CREATE DATABASE $DB CHARACTER SET utf8 COLLATE utf8_general_ci"; 
mysql -uroot -prootpassword -e "CREATE USER [email protected]'127.0.0.1' IDENTIFIED BY '$PASS'"; 
mysql -uroot -prootpassword -e "GRANT SELECT, INSERT, UPDATE ON $DB.* TO '$USER'@'127.0.0.1'"; 
संबंधित मुद्दे