2012-08-25 23 views
16

मैं अपने ट्यूटोरियल डेटाबेस विकास के वातावरण के लिए लॉग इन नहीं कर पा रहे:त्रुटि 1049 (42000): अज्ञात डेटाबेस

Ayman$ mysql -u blog -p blog_development 
Enter password: 
ERROR 1049 (42000): Unknown database 'blog_development' 

मैं blog_development भाग के बिना डेटाबेस ठीक करने के लिए के लिए लॉग इन कर सकते हैं:

Ayman$ mysql -u blog -p 
Enter password: 
Welcome to the MySQL monitor. Commands end with ; or \g. 
Your MySQL connection id is 1858 

सुनिश्चित नहीं हैं कि के रूप में मैं सभी पहुँच प्रदान की गई देता है:

mysql> GRANT ALL PRIVILEGES ON blog_development.* 
    -> TO 'blog'@'localhost' 
    -> IDENTIFIED BY 'newpassword'; 
Query OK, 0 rows affected (0.01 sec) 

mysql> SHOW GRANTS FOR 'blog'@'localhost' 
    -> ; 
+----------------------------------------------------------------------------------------- --------------------+ 
| Grants for [email protected]                      | 
+----------------------------------------------------------------------------------------- --------------------+ 
| GRANT USAGE ON *.* TO 'blog'@'localhost' IDENTIFIED BY PASSWORD '*FE4F2D624C07AAEBB979DA5C980D0250C37D8F63' | 
| GRANT ALL PRIVILEGES ON `blog`.* TO 'blog'@'localhost'              | 
| GRANT ALL PRIVILEGES ON `blog_development`.* TO 'blog'@'localhost'           | 
+----------------------------------------------------------------------------------------- --------------------+ 
3 rows in set (0.00 sec) 

किसी एक सुराग क्या प्रयास करने के लिए है? धन्यवाद! इसके अलावा, पक्ष नोट- यह अजीब मेरे पास अनेक रूट उपयोगकर्ताओं ?:

mysql> select User from mysql.user; 
+------+ 
| User | 
+------+ 
| root | 
| root | 
|  | 
| root | 
|  | 
| blog | 
| root | 
+------+ 
7 rows in set (0.00 sec) 

संपादित है: उन asking- मैं MySql में बनाएँ डेटाबेस कमांड के साथ डेटाबेस ब्लॉग बनाया के लिए। यहाँ मेरी सक्रिय डेटाबेस हैं:

mysql> SHOW DATABASES; 
+--------------------+ 
| Database   | 
+--------------------+ 
| information_schema | 
| blog    | 
| mysql    | 
| performance_schema | 
| test    | 
+--------------------+ 
5 rows in set (0.00 sec) 
+0

क्या आपने वास्तव में डेटाबेस बनाया था? 'mysql -u blog -p' mysql में लॉग इन करता है लेकिन डेटाबेस का चयन नहीं करता है। – DGM

+0

yup, वहां यह mySQL - 'ब्लॉग' में है, और आप रेल में 'blog_development'' का प्रयास कर रहे थे (जो उपयोग करने के लिए बेहतर नाम है और नमूना डेटाबेस.आईएमएल या विकास द्वारा सुझाए गए एक)। –

उत्तर

15

blog_development मौजूद नहीं है

आप 0 rows affected संदेश द्वारा एसक्यूएल में देख सकते हैं

mysql> create database blog_development 

हालांकि के रूप में साथ mysql में इसे बनाने के आप रेल का उपयोग कर रहे हैं जिनका उपयोग

का उपयोग करने के लिए किया जाना चाहिए एक ही कार्य करने के लिए

। यह अपने database.yml फ़ाइल सेटिंग्स का उपयोग करेगा, जो की तरह कुछ शामिल करना चाहिए:

$ rake db:migrate # Run the database migration 
$ rake db:seed  # Run thew seeds file create statements 
$ rake db:drop  # Drop the database 
+0

मैंने mysql> डेटा DATABASE आदेश का उपयोग कर डेटाबेस ब्लॉग बनाया है। अतीत में इसने मेरे लिए एक विकास वातावरण बनाया है? जब तक मैं गलत नहीं हूँ? – aalab002

+0

हां, यह काम करेगा लेकिन एसक्यूएल कमांड और रेल डेटाबेस की संभावना है। मेल नहीं मिल रहा है। मैं रेल से पहले एक एसक्यूएल पृष्ठभूमि से आया था और मैंने शुरुआत में एसक्यूएल कमांड रूट किया था, लेकिन जब आप रेल सीखते हैं तो आपको डीबी बनाने के लिए रेल कमांड का उपयोग करना होगा। –

+0

इसे मिला। धन्यवाद माइकल! – aalab002

0

यह एक सामान्य त्रुटि जो होता है जब हम एक डेटाबेस है जो नहीं करता है तक पहुँचने का प्रयास:

development: 
    adapter: mysql2 
    database: blog_development 
    pool: 5 

इसके अलावा के साथ परिचित हो अस्तित्व में नहीं है तो डेटाबेस

CREATE DATABASE blog_development; 

त्रुटि का उपयोग कर बनाने सामान्यतः occours जब हम डेटाबेस

DROP DATABASE blog_development; 

और उसके बाद का उपयोग कर डेटाबेस तक पहुँचने का प्रयास गिरावट आई है।

3

बहुत आसान समाधान। बस अपने डेटाबेस का नाम बदलें और अपनी परियोजना में अपना नया डेटाबेस नाम कॉन्फ़िगर करें।

समस्या तब होती है जब आप अपना डेटाबेस आयात करते हैं, आपको कोई त्रुटि मिलती है और फिर डेटाबेस दूषित हो जाएगा। लॉग फ़ाइलों में दूषित डेटाबेस नाम होगा। आप mysql के लिए phpmyadmin का उपयोग करके आसानी से अपने डेटाबेस का नाम बदल सकते हैं।

phpmyadmin -> operations -> Rename database to 
संबंधित मुद्दे