2012-08-25 90 views
16

我似乎無法登錄到我的教程數據庫開發環境:ERROR 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) 

人有什麼線索來試試呢?謝謝!此外,側筆記記錄是很奇怪我有多個root用戶?:

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

編輯:對於那些asking-我創建的數據庫與博客在MySQL中CREATE DATABASE命令。這裏是我的活動數據庫:

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'中,並且您正在嘗試rails中的'blog_development'(這是更好的名稱以及示例database.yml或開發中提供的名稱)。 –

回答

15

blog_development不存在

您可以通過0 rows affected消息在SQL看到這個

在MySQL與

mysql> create database blog_development 

然而,隨着創建你正在使用你應該習慣使用的導軌

$ rake db:create 

做同樣的任務。它將使用您的database.yml文件的設置,其中應包括這樣的:

development: 
    adapter: mysql2 
    database: blog_development 
    pool: 5 

也成爲熟悉:

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

我使用mysql> CREATE DATABASE命令創建了數據庫博客。在過去,這爲我創造了一個開發環境?除非我錯了? – aalab002

+0

是的,這將工作,但有可能是sql命令和rails database.yml不匹配。我在rails之前來自SQL背景,並且最初做了SQL命令路由,但在您學習rails時,您會發現使用rails命令創建db是一種方法。 –

+0

明白了。謝謝邁克爾! – aalab002

0

它,當我們試圖訪問沒有按一個數據庫,其中發生的一個常見錯誤不存在。因此,創建一個使用

CREATE DATABASE blog_development; 

錯誤數據庫的時候,我們已經跌至使用

DROP DATABASE blog_development; 

,然後嘗試訪問數據庫的數據庫通常occours。

3

非常簡單的解決方案。 只需重命名您的數據庫並在您的項目中配置新的數據庫名稱即可。

問題是當你導入你的數據庫,你有任何錯誤,然後數據庫將被損壞。日誌文件將具有損壞的數據庫名稱。 您可以使用phpmyadmin for mysql輕鬆地重命名數據庫。

phpmyadmin -> operations -> Rename database to 
相關問題