将SQL文件导入到mysql中

我有一个数据库`nitm`。 我没有在那里创build任何表。 但我有一个SQL文件,其中包含数据库的所有必要的数据。 该文件是`C:\驱动器`中的`nitm.sql`。 这个文件的大小约为103M。 我正在使用wamp服务器。

我已经在mysql控制台中使用以下语法来导入文件。

mysql>c:/nitm.sql; 

但是这不起作用。

从mysql控制台:

mysql> use DATABASE_NAME;

mysql> source path/to/file.sql;

如果你指的是相对path,确保path前没有斜线……我花了一段时间才意识到这一点! 大声笑

最后,我解决了这个问题。 我把`nitm.sql`文件放在`mysql`文件夹的bin文件中,并使用下面的语法。

 C:\wamp\bin\mysql\mysql5.0.51b\bin>mysql -u root nitm < nitm.sql 

这工作。

如果你正在使用wamp,你可以试试这个。 只要首先键入use your_Database_name

  1. 点击您的wamp服务器图标,然后查找MYSQL > MSQL Console然后运行它。

  2. 如果您没有密码,只需按Enter键入:

     mysql> use database_name; mysql> source location_of_your_file; 

    如果你有密码,你会提示input密码。 先input你的密码,然后input:

     mysql> use database_name; mysql> source location_of_your_file; 

location_of_your_file应该看起来像C:\mydb.sql

所以推荐使用mysql> source C:\ mydb.sql;

这种导入sql转储对BIG SQL FILE很有帮助。

我复制我的文件mydb.sq到目录C: mydb.sq它应该是大写C:为了运行

就是这样。

在Windows中,如果上面的build议给你一个错误(文件未find或未知的数据库),你可能要加倍正斜杠:

在mysql控制台中:

 mysql> use DATABASE_NAME; mysql> source C://path//to//file.sql; 

好吧,我正在使用Linux,但我认为这也适用于Windows。 您可以直接从命令提示符执行此操作

 > mysql -u <user name> -p<password> <database name> < sqlfilename.sql 

或者从mysql提示符中,你可以使用:

 mysql>source sqlfilename.sql 

但是这两种方法在显示的结果中都有自己的好处。 在第一种方法中,脚本在遇到错误时立即退出。 而更好的部分是,它告诉你错误发生的源文件中的确切行号。 但是,它只显示错误。 如果没有遇到任何错误,脚本将显示NOTHING。 这可能有点不安。 因为你经常用一堆命令来运行一个脚本。

现在,第二种方法(在mysql提示符下)具有这样的好处,即在脚本中显示每个不同MySQL命令的消息。 如果遇到错误,则显示mysql错误消息,但通过脚本继续。 这可能是好的,因为您可以返回并在再次运行脚本之前修复所有错误。 缺点是它不会显示遇到错误的脚本中的行号。 这可能有点痛苦。 但是,错误信息是描述性的,所以你可以找出问题所在。

举个例子,我比较喜欢直接从操作系统命令行的方法。

如果你正在使用xampp

 C:\xampp\mysql\bin\mysql -uroot -p nitm < nitm.sql 

你几乎在那里使用

 mysql> \. c:/nitm.sql; 

您也可以通过访问帮助

 mysql> \? 

对于XAMPP上的本地主机。 打开一个cmd窗口并input

 cd C:\xampp\mysql\bin mysql.exe -u root -p 

注意! -p之后没有分号input你的密码并input

 use database_name; 

select你需要的数据库。

检查你的桌子是否在那里

 show tables; 

从你的sql文件导入

 source sqlfile.sql; 

我已经把我的文件放在C:\ xampp \ mysql \ bin位置,以便不会与sql文件的位置混淆。

不要忘记使用

 charset utf8 

如果你的SQL文件是在UTF-8 🙂

所以你需要做的是:

CMD.EXE

mysql -u root

mysql> charset utf8

mysql>使用mydbname

mysql> source C:\ myfolder \ myfile.sql

祝你好运 ))

在Linux中,在启动mysql之前,导航到包含.sql文件的目录。 系统光标现在与文件位于同一位置,您将不需要path。 使用源myData.sql我的date被replace为您的文件的名称。

 cd whatever directory mysql - p 

连接targetDB

 source myData.sql 

完成

尝试:

 mysql -u username -p database_name < file.sql 

检查MySQL选项 。

注意:最好使用SQL文件file.sql的完整path。

从命令行(CMD.EXE,而不是在MySQL shell)尝试类似于:

 type c:/nite.sql | mysql -uuser -ppassword dbname 

您的转储是否包含您的MySQL版本不支持的function? 您也可以尝试删除开始(和结束)MySQL注释的SET语句。

我不知道你的转储是否来自Linux版本的MySQL(行结尾)?

我已经在D:驱动器中安装了我的wamp服务器,所以你必须从你的命令行 – >(如果你已经在c:盘上安装了你的wamp,那么只需要把d:wtih c:在这里)

 D:\>cd wamp D:\wamp>cd bin D:\wamp\bin>cd mysql D:\wamp\bin\mysql>cd mysql5.5.8 (whatever ur verserion will be displayed here use keyboard Tab button) D:\wamp\bin\mysql\mysql5.5.8>cd bin D:\wamp\bin\mysql\mysql5.5.8\bin>mysql -u root -p password db_name < "d:\backupfile.sql" 

这里root是我的phpmyadmin 密码的用户是phpmyadmin的密码,所以如果你没有设置任何密码的root只是在那个地方没有types, db_name是数据库(为你的备份数据库),backupfile.sql是你想要你的数据库的备份文件,你也可以将备份文件位置(d:\ backupfile.sql)从您的计算机上的任何其他地方

 mysql>c:/nitm.sql; 

那会把mysql命令的输出写到'nitm.sql'中 (什么是';'应该做的?)假设你有一个原始文件的副本(在你覆盖之前),那么:

 mysql < c:/nitm.sql 

导出特定的数据库

  djimi:> mysqldump --user=root --host=localhost --port=3306 --password=test -B CCR KIT >ccr_kit_local.sql 

这将导出CCR和KIT数据库…

导入所有导出的数据库到特定的Mysql实例(您必须在您的转储文件的位置)

 djimi:> mysql --user=root --host=localhost --port=3306 --password=test < ccr_kit_local.sql 

在Windows操作系统中,以下命令适用于我。

 mysql>Use <DatabaseName> mysql>SOURCE C:/data/ScriptFile.sql; 

文件名周围没有单引号或双引号。 path将包含“/”而不是“\”。