Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ERROR 1049 (42000): Unknown database

Tags:

I can't seem to login to my tutorial database development environment:

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

I can login to the database fine without the blog_development portion:

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

Not sure what gives as I granted all access:

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 blog@localhost                                                                                        |  +----------------------------------------------------------------------------------------- --------------------+ | 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) 

Anybody have a clue what to try? Thanks! Also, side note- is it weird I have multiple root users?:

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

Edit: for those asking- I created the database blog with the CREATE DATABASE command in MySql. Here are my active databases:

mysql> SHOW DATABASES; +--------------------+ | Database           | +--------------------+   | information_schema | | blog               | | mysql              | | performance_schema | | test               | +--------------------+  5 rows in set (0.00 sec) 
like image 973
aalab002 Avatar asked Aug 25 '12 02:08

aalab002


People also ask

How do I fix an unknown database?

This type of error occurs if you select any database that does not exist in MySQL. Let us first display the error of unknown database in JDBC. To remove this type of error, just go to MySQL command line and show all database names and use the chosen one from there i.e. the database which really exist.

What is error code 1049 in MySQL?

Generally, This error indicates that the related database exists in a cPanel user's database map, but the database does not exist in MySQL.

How do I delete a database in MySQL?

Deleting a MySQL or MariaDB databaseUse the command 'SHOW DATABASES;' in the mysql-console like in the example above. Now copy the name of the database you want to delete. To do delete a database you need the command 'DROP DATABASE'. The syntax is similar to creating a database.


2 Answers

blog_development doesn't exist

You can see this in sql by the 0 rows affected message

create it in mysql with

mysql> create database blog_development 

However as you are using rails you should get used to using

$ rake db:create 

to do the same task. It will use your database.yml file settings, which should include something like:

development:   adapter: mysql2   database: blog_development   pool: 5 

Also become familiar with:

$ rake db:migrate  # Run the database migration $ rake db:seed     # Run thew seeds file create statements $ rake db:drop     # Drop the database 
like image 139
Michael Durrant Avatar answered Nov 30 '22 05:11

Michael Durrant


Very simple solution. Just rename your database and configure your new database name in your project.

The problem is the when you import your database, you got any errors and then the database will be corrupted. The log files will have the corrupted database name. You can rename your database easily using phpmyadmin for mysql.

phpmyadmin -> operations -> Rename database to 
like image 29
RajivRisi Avatar answered Nov 30 '22 04:11

RajivRisi