我似乎无法登录我的教程数据库开发环境:
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 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)
有人知道该尝试什么?谢谢!另外,旁注 - 我有多个root用户很奇怪吗?:
mysql> select User from mysql.user;
+------+
| User |
+------+
| root |
| root |
| |
| root |
| |
| blog |
| root |
+------+
7 rows in set (0.00 sec)
编辑:对于那些提问者 - 我使用MySql中的CREATE DATABASE命令创建了数据库博客。这是我的活动数据库:
mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| blog |
| mysql |
| performance_schema |
| test |
+--------------------+
5 rows in set (0.00 sec)
答案 0 :(得分:16)
blog_development不存在
您可以通过0 rows affected
消息
使用
在mysql中创建它mysql> create database blog_development
但是,当您使用rails时,您应该习惯使用
$ 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
答案 1 :(得分:3)
非常简单的解决方案。 只需重命名数据库并在项目中配置新的数据库名称。
问题是当您导入数据库时,您遇到任何错误,然后数据库将被破坏。日志文件将具有损坏的数据库名称。 您可以使用phpmyadmin for mysql轻松地重命名数据库。
phpmyadmin -> operations -> Rename database to
答案 2 :(得分:1)
当我们尝试访问不存在的数据库时,会发生一个常见错误。所以使用
创建数据库CREATE DATABASE blog_development;
当我们使用
删除数据库时,通常会出现错误DROP DATABASE blog_development;
然后尝试访问数据库。