ОШИБКА 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)
Изменить: для тех, кто спрашивает: я создал блог базы данных с командой CREATE DATABASE в MySql. Вот мои активные базы данных:
mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| blog |
| mysql |
| performance_schema |
| test |
+--------------------+
5 rows in set (0.00 sec)
Ответы
Ответ 1
blog_development не существует
Вы можете увидеть это в sql через сообщение 0 rows affected
создайте его в 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
Ответ 2
Очень простое решение.
Просто переименуйте свою базу данных и настройте новое имя базы данных в своем проекте.
Проблема заключается в том, когда вы импортируете свою базу данных, вы получаете какие-либо ошибки, а затем база данных будет повреждена. Файлы журнала будут иметь поврежденное имя базы данных.
Вы можете легко переименовать свою базу данных, используя phpmyadmin для mysql.
phpmyadmin -> operations -> Rename database to
Ответ 3
Это обычная ошибка, которая возникает, когда мы пытаемся получить доступ к базе данных, которая не существует. Поэтому создайте базу данных, используя
CREATE DATABASE blog_development;
Ошибка обычно возникает при удалении базы данных с помощью
DROP DATABASE blog_development;
а затем попытайтесь получить доступ к базе данных.