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)
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.
Generally, This error indicates that the related database exists in a cPanel user's database map, but the database does not exist 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.
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
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With