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

53

我正在尝试从.sql文件中恢复数据库,我已经在phpmyadmin中创建了数据库,并且在我要还原到数据库的.sql文件中也使用了“如果不存在则创建”命令,而且phpmyadmin和.sql文件中数据库的名称都相同,为“mydatabase”。

以下是我用于恢复数据库的命令。

mysql -uroot -pmypassword mydatabase<mydatabase.sql;

执行上述命令后,我遇到了以下错误,我已经给予该数据库用户所有权限。

ERROR 1049 (42000): Unknown database 'mydatabasename'

7
mydatabase 不等于 mydatabasename - eggyal
2
你有检查过你的 .sql 文件吗?也许它引用了 'mydatabasename'。 - Sébastien
在脚本中删除 USE mydatabasename,然后再试一次。 - Sathish D
1
这个回答解决了你的问题吗?将SQL转储文件导入MySQL时出错:未知数据库/无法创建数据库 - João Pimentel Ferreira
这里有许多可疑的答案,解决此问题的方法在这里:https://dev59.com/xnRA5IYBdhLWcg3wsgLq#3034381 - João Pimentel Ferreira
19个回答

0

La Chi的回答对我有用。

您可以在此页面中zessx的评论中查看他/她的答案。但是,如果您只是像这样调整他/她的答案:mysql -h localhost -u root -p -D mydatabase < mydatabase.sql,我最初遇到了问题。

此外,我建议在mydatabase.sql部分中包括它在您计算机上的直接位置,例如"C:\Users\username\desktop"

谢谢。


0
很简单:使用 mysql -u root -p mysql

0

创建数据库:

CREATE DATABASE mydatabasename; USE mydatabasename;

使用以下命令: mysql -u root -p 'mydatabasename'< '/tmp/db_dump.sql'


0

它的工作原理是创建数据库,然后输入以下命令: C:\Program Files\MySQL\MySQL Server 8.0\bin>mysql -u root -p -D cricket < C:\Users\habib_s9ayvfl\Desktop\sqlfile.sql


0

我了解你的问题。以下是解决方法:

  1. 检查你的数据库名称是否正确并存在于MySQL中
  2. 检查你的IP地址和端口是否正确

0
mysql -uroot -psecret mysql < mydatabase.sql

0
首先,您需要检查文件夹 /var/lib/mysql 是否存在 mydatabasename(根据您安装 mysql 的方式而定,但默认文件夹是这个),请检查文件夹是否存在,其所有者应为 mysql:mysql,当然,文件夹权限应该对 mysql 为 rw;
其次,可能是因为您对 /etc/my.cnf 进行了更改,例如在我的情况下,我们创建了一个大写的数据库 TEST_DB,然后有人在 my.cnf 中添加了 lower_case_table_names=1 限制,这导致了未知的数据库错误,因为 mysql 会将 TEST_DB 转换为小写的 test_db,即使我键入 select from TEST_DB,它也永远找不到 TEST_DB,只需注释掉并重新启动 mysql 服务即可解决我的问题。

0
我在一个 .sql 文件中找到了这些行:
“要连接到不使用端口 3306 的管理器,您必须指定端口号:”
$mysqli = new mysqli('127.0.0.0.1','user','password','database','3307');

或者,以过程化术语来说:

$mysqli = mysqli_connect('127.0.0.0.1','user','password','database','3307');"

对我来说解决了这个错误。因此,我建议在连接服务器时必须使用端口号来解决错误代码1049(未知数据库)。


没问题 @ROHAN - Aqsa Zahoor

-3

当您从工作台或其他方法导入数据库时,应该将其命名为与转储文件相同的名称,以避免出现此类错误。


其他答案解释了如何使用不同的数据库名称导入。 - Genoud Magloire

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接