错误1049(42000):未知数据库

aal*_*002 18 mysql

我似乎无法登录我的教程数据库开发环境:

Ayman$ mysql -u blog -p blog_development
Enter password: 
ERROR 1049 (42000): Unknown database 'blog_development'
Run Code Online (Sandbox Code Playgroud)

我可以在没有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
Run Code Online (Sandbox Code Playgroud)

不确定我授予所有访问权限的是什么:

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)
Run Code Online (Sandbox Code Playgroud)

有人知道该尝试什么?谢谢!另外,旁注 - 我有多个root用户很奇怪吗?:

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

编辑:对于那些询问 - 我使用MySql中的CREATE DATABASE命令创建了数据库博客.这是我的活动数据库:

mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+  
| information_schema |
| blog               |
| mysql              |
| performance_schema |
| test               |
+--------------------+ 
5 rows in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)

Mic*_*ant 16

blog_development不存在

您可以通过0 rows affected消息在sql中看到这一点

用mysql在mysql中创建它

mysql> create database blog_development
Run Code Online (Sandbox Code Playgroud)

但是,当您使用rails时,您应该习惯使用

$ rake db:create
Run Code Online (Sandbox Code Playgroud)

做同样的任务.它将使用您的database.yml文件设置,其中应包括以下内容:

development:
  adapter: mysql2
  database: blog_development
  pool: 5
Run Code Online (Sandbox Code Playgroud)

也熟悉:

$ rake db:migrate  # Run the database migration
$ rake db:seed     # Run thew seeds file create statements
$ rake db:drop     # Drop the database
Run Code Online (Sandbox Code Playgroud)