将SQL文件导入mysql

Import SQL file into mysql

我有一个叫nitm的数据库。我没有在那里创建任何表。但我有一个SQL文件,其中包含数据库所需的所有数据。文件为nitm.sql,位于C:\ drive中。此文件的大小约为103 MB。我正在使用wamp服务器。

我在MySQL控制台中使用了以下语法来导入文件:

1
mysql>c:/nitm.sql;

但这不起作用。


从MySQL控制台:

mysql>use DATABASE_NAME;

mysql>source path/to/file.sql;

如果要引用相对路径,请确保路径前没有斜线…我花了一段时间才意识到这一点!大声笑


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

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

这很管用。


如果你用的是wamp,你可以试试这个。先输入use your_Database_name

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

  • 如果您没有密码,只需按Enter并键入:

    1
    2
    mysql> use database_name;
    mysql> source location_of_your_file;

    如果您有密码,您将提示输入密码。请先输入密码,然后键入:

    1
    2
    mysql> use database_name;
    mysql> source location_of_your_file;
  • location_of_your_file应该像C:\mydb.sql一样。

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

    这种导入SQL转储对于大型SQL文件非常有用。

    我把我的文件mydb.sq复制到目录C:中,应该是大写C:才能运行

    就是这样。


    在Windows中,如果上述建议给您一个错误(找不到文件或未知数据库),您可能需要将正斜杠加倍:

    在mysql控制台中:

    1
    2
    3
    mysql> use DATABASE_NAME;

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


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

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

    或者在mysql提示下,可以使用:

    1
    mysql>source sqlfilename.sql

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

    现在,第二种方法(在mysql提示符内)的好处是,它为脚本中的每个不同mysql命令显示一条消息。如果遇到错误,它会显示MySQL错误消息,但会通过脚本继续。这可能很好,因为您可以在再次运行脚本之前返回并修复所有错误。缺点是它不会在遇到错误的脚本中显示行号。这可能有点疼。但是错误消息是描述性的,所以您可能会发现问题在哪里。

    例如,我更喜欢直接从OS命令行方法。


    如果您使用的是XAMPP

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


    你快到了使用

    1
    mysql> \. c:/nitm.sql;

    您也可以通过以下方式访问帮助:

    1
    mysql> \?


    用于XAMPP上的本地主机。打开一个命令窗口并键入

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

    注意!-P后无半结肠输入密码并键入

    1
    use database_name;

    选择所需的数据库。

    检查你的桌子是否在那里

    从SQL文件导入

    1
    source sqlfile.sql;

    为了不与SQL文件的位置混淆,我将文件放在C:xamppmysqlin位置。


    别忘了用

    1
    charset utf8

    如果您的SQL文件是UTF-8:)

    所以你需要做的是:

    cmd.exe

    mysql -u root

    mysql> charset utf8

    mysql> use mydbname

    mysql> source C:\myfolder\myfile.sql

    祝你好运)


    在Linux中,我在启动mysql之前导航到了包含.sql文件的目录。系统光标现在与文件位于同一位置,您不需要路径。使用源mydata.sql,其中我的日期将替换为文件名。

    1
    2
    3
    cd whatever directory

    mysql - p

    连接TargetDB

    1
    source myData.sql

    多恩


    尝试:

    1
    mysql -u username -p database_name < file.sql

    检查mysql选项。

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


    从命令行(cmd.exe,而不是在mysql shell中)尝试如下操作:

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


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

    我不知道您的dump是否来自Linux版本的mysql(行尾)?


    我已经在d:drive中安装了我的wamp服务器,所以您必须从ur命令行中转到以下路径->(如果您已经在c:drive中安装了您的wamp,那么只需替换d:wtih c:here)

    1
    2
    3
    4
    5
    6
    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的用户password是phpmyadmin的密码,因此如果您没有为根设置任何密码,那么在该位置只需输入nothing,数据库名称是数据库(为其备份数据库),backupfile.sql是您希望从中备份您的数据库的文件,您还可以将备份文件位置(d:ackupfile.sql)从计算机上的任何其他位置更改为


    导出特定数据库

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

    这将导出CCR和KIT数据库…

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

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

    1
    mysql>c:/nitm.sql;

    这会将mysql命令的输出写入'nitm.sql;'(应该做什么?';')假设您有原始文件的副本(在覆盖之前),那么:

    1
    mysql < c:/nitm.sql


    对于那些努力完成这项任务的人来说,试着从中找到每一个可能的答案。以下是我在运行Windows 2012 R2的VPS上的工作原理:

  • 把你的SQL文件放在我的bin所在的任何地方,它位于C:\Program Files\MySQL\MySQL Server 8.0\bin

  • 打开Windows命令提示(cmd)

  • 运行C:\Program Files\MySQL\MySQL Server 8.0\bin > mysql -u [username] -p
  • 输入您的密码
  • 运行命令use [database_name]
  • 使用命令源C://Program Files//MySQL//MySQL Server 8.0//bin//mydatabasename.sql导入文件
  • 它为我做的一切都失败了。这也可能对你有帮助。


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

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

    文件名周围没有单引号或双引号。路径将包含"/"而不是"."。