Jay*_*len 1836 mysql sql import command-line
我有一个.sql导出文件phpMyAdmin.我想使用命令行将其导入到不同的服务器中.
我有一个Windows Server 2008 R2安装.我把.sql文件放在C盘上,我尝试了这个命令
database_name < file.sql
Run Code Online (Sandbox Code Playgroud)
它不起作用我得到语法错误.
ban*_*nsi 3458
尝试:
mysql -u username -p database_name < file.sql
Run Code Online (Sandbox Code Playgroud)
检查MySQL选项.
注1:最好使用SQL文件的完整路径file.sql.
注意2:使用-R和--triggers保留原始数据库的例程和触发器.默认情况下不会复制它们.
注 - 3如果它不存在,并且导出的SQL不包含CREATE DATABASE(使用--no-create-db或-n选项导出),则可能必须从mysql创建(空)数据库,然后才能导入它.
vla*_*ras 706
mysqldump的一个常见用途是用于备份整个数据库:
shell> mysqldump db_name > backup-file.sql
Run Code Online (Sandbox Code Playgroud)
您可以将转储文件加载回服务器,如下所示:
UNIX
shell> mysql db_name < backup-file.sql
Run Code Online (Sandbox Code Playgroud)
Windows命令提示符中相同:
mysql -p -u [user] [database] < backup-file.sql
Run Code Online (Sandbox Code Playgroud)
电源外壳
C:\> cmd.exe /c "mysql -u root -p db_name < backup-file.sql"
Run Code Online (Sandbox Code Playgroud)
MySQL命令行
mysql> use db_name;
mysql> source backup-file.sql;
Run Code Online (Sandbox Code Playgroud)
Par*_*ede 297
关于导入大文件所花费的时间:最重要的是,由于MySQL的默认设置,它需要更多时间autocommit = true.您必须在导入文件之前将其设置为关闭,然后检查导入如何像gem一样工作.
你只需要做以下事情:
mysql> use db_name;
mysql> SET autocommit=0 ; source the_sql_file.sql ; COMMIT ;
Run Code Online (Sandbox Code Playgroud)
Man*_*mar 113
在所有答案中,对于上述问题,这是最好的答案:
mysql> use db_name;
mysql> source file_name.sql;
Run Code Online (Sandbox Code Playgroud)
Amr*_*ana 68
我们可以使用此命令从命令行导入SQL:
mysql -u username -p password db_name < file.sql
Run Code Online (Sandbox Code Playgroud)
例如,如果用户名是root,密码是password.并且您有一个数据库名称bank和SQL文件bank.sql.然后,只需这样做:
mysql -u root -p password bank < bank.sql
Run Code Online (Sandbox Code Playgroud)
记住SQL文件的位置.如果您的SQL文件位于Desktop文件夹/目录中,则转到桌面目录并输入如下命令:
~ ? cd Desktop
~/Desktop ? mysql -u root -p password bank < bank.sql
Run Code Online (Sandbox Code Playgroud)
如果您在Project目录中,并且您的SQL文件位于Desktop目录中.如果要从Project目录访问它,那么您可以这样做:
~/Project ? mysql -u root -p password bank < ~/Desktop/bank.sql
Run Code Online (Sandbox Code Playgroud)
小智 57
bin到mysql服务器的文件夹中.source databasefilename.sql和EnterKas*_*iya 56
如果您已有数据库,请使用以下命令导入dump或sql文件
mysql -u username -p database_name < file.sql
Run Code Online (Sandbox Code Playgroud)
如果你不需要在MySQL中创建相关的数据库(空),那么首先登录到MySQL控制台,方法是在终端或cmd中运行以下命令
mysql -u userName -p;
Run Code Online (Sandbox Code Playgroud)
并在提示时提供密码.
接下来创建一个数据库并使用它
mysql>create database yourDatabaseName;
mysql>use yourDatabaseName;
Run Code Online (Sandbox Code Playgroud)
然后sql将该dump文件或文件导入数据库
mysql> source pathToYourSQLFile;
Run Code Online (Sandbox Code Playgroud)
注意:如果您的终端不在dump或sql存在该文件的位置,请使用上面的相对路径.
小智 46
对我有用的解决方案如下:
Use your_database_name;
SOURCE path_to_db_sql_file_on_your_local;
Run Code Online (Sandbox Code Playgroud)
Amm*_*mad 46
最简单的导入到您的架构的方法:
登录mysql并发出下面提到的命令.
mysql> use your_db_name;
mysql> source /opt/file.sql;
Run Code Online (Sandbox Code Playgroud)
Ade*_*ade 37
要将数据库转储到SQL文件,请使用以下命令
mysqldump -u username -p database_name > database_name.sql
Run Code Online (Sandbox Code Playgroud)
将SQL文件导入数据库(确保您与SQL文件位于同一目录中或提供文件的完整路径)
mysql -u username -p database_name < database_name.sql
Run Code Online (Sandbox Code Playgroud)
Tan*_*tel 36
转到您具有MySQL可执行文件的目录.-u用于用户名和-p提示输入密码:
C:\xampp\mysql\bin>mysql -u username -ppassword databasename < C:\file.sql
Run Code Online (Sandbox Code Playgroud)
Fra*_*ula 29
我认为值得一提的是你也可以加载一个压缩的(压缩的)文件,zcat如下所示:
zcat database_file.sql.gz | mysql -u username -p -h localhost database_name
Run Code Online (Sandbox Code Playgroud)
小智 28
要导入单个数据库,请使用以下命令.
mysql -u username -p password dbname < dump.sql
Run Code Online (Sandbox Code Playgroud)
要导入多个数据库转储,请使用以下命令.
mysql -u username -p password < dump.sql
Run Code Online (Sandbox Code Playgroud)
小智 19
For exporting a database:
mysqldump -u username -p database_name > file.sql
Run Code Online (Sandbox Code Playgroud)
For importing a database:
mysql -u username -p database_name < file.sql
Run Code Online (Sandbox Code Playgroud)
小智 18
mysql --user=[user] --password=[password] [database] < news_ml_all.sql
Run Code Online (Sandbox Code Playgroud)
Abd*_*jua 16
要一次导入多个SQL文件,请使用以下命令:
# Unix-based solution
for i in *.sql;do mysql -u root -pPassword DataBase < $i;done
Run Code Online (Sandbox Code Playgroud)
对于简单导入:
# Unix-based solution
mysql -u root -pPassword DataBase < data.sql
Run Code Online (Sandbox Code Playgroud)
对于WAMP:
#mysqlVersion replace with your own version
C:\wamp\bin\mysql\mysqlVersion\bin\mysql.exe -u root -pPassword DataBase < data.sql
Run Code Online (Sandbox Code Playgroud)
对于XAMPP:
C:\xampp\mysql\bin\mysql -u root -pPassword DataBase < data.sql
Run Code Online (Sandbox Code Playgroud)
小智 15
要导入数据库,请使用以下命令。
mysql> create new_database;
mysql> use new_database;
mysql> source (Here you need to import the path of the sql file);
eg:
mysql> source E:/test/dump.sql;
Run Code Online (Sandbox Code Playgroud)
即使在 Windows 上,您也需要使用正斜杠 (/),例如 E:/test/dump.sql 而不是 E:\test\dump.sql
或者双反斜杠(\\)因为转义,即 E:\\test\\dump.sql
Reu*_*ben 14
如果.sql文件包含CREATE DATABASE IF NOT EXISTS db_name和USE db_name语句,则无需在命令行上指定数据库的名称.
如果.sql文件中提到的数据库不存在,请确保您与具有创建数据库权限的用户进行连接.
Pri*_*ari 12
去开车:
command: d:
Run Code Online (Sandbox Code Playgroud)MySQL登录
command: c:\xampp\mysql\bin\mysql -u root -p
Run Code Online (Sandbox Code Playgroud)它会要求密码.输入它:
pwd
Run Code Online (Sandbox Code Playgroud)选择数据库
use DbName;
Run Code Online (Sandbox Code Playgroud)提供文件名
\.DbName.sql
Run Code Online (Sandbox Code Playgroud)kta*_*ria 10
添加--force选项:
mysql -u username -p database_name --force < file.sql
Run Code Online (Sandbox Code Playgroud)
转到MySQL所在的目录.
c:\mysql\bin\> mysql -u username -p password database_name <
filename.sql
Run Code Online (Sandbox Code Playgroud)
同样要转储所有数据库,请使用该-all-databases选项,不再需要指定数据库的名称.
mysqldump -u username -ppassword –all-databases > dump.sql
Run Code Online (Sandbox Code Playgroud)
或者您可以使用SQLyog之类的GUI客户端来执行此操作.
mysql -u root -p password -D database_name << import.sql
Run Code Online (Sandbox Code Playgroud)
使用mysql帮助获取详细信息 mysql --help
我认为这些在我们的背景下将是有用的选择
[~]$ mysql --help
mysql Ver 14.14 Distrib 5.7.20, for osx10.12 (x86_64) using EditLine wrapper
Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
Usage: mysql [OPTIONS] [database]
-?, --help Display this help and exit.
-I, --help Synonym for -?
--bind-address=name IP address to bind to.
-D, --database=name Database to use.
--delimiter=name Delimiter to be used.
--default-character-set=name Set the default character set.
-f, --force Continue even if we get an SQL error.
-p, --password[=name] Password to use when connecting to server.
-h, --host=name Connect to host.
-P, --port=# Port number to use for connection or 0 for default to, in order of preference, my.cnf, $MYSQL_TCP_PORT, /etc/services, built-in default (3306).
--protocol=name The protocol to use for connection (tcp, socket, pipe,
-s, --silent Be more silent. Print results with a tab as separator, each row on new line.
-v, --verbose Write more. (-v -v -v gives the table output format).
-V, --version Output version information and exit.
-w, --wait Wait and retry if connection is down.
Run Code Online (Sandbox Code Playgroud)
有趣的是,如果我们要导入一个大型数据库而没有进度条.使用Pipe Viewer查看通过管道传输的数据
对于Mac brew install pv
,.对于Debian/Ubuntu , apt-get install pv. 其他,请参阅http://www.ivarch.com/programs/pv.shtml
pv import.sql | mysql -u root -p password -D database_name
1.45GiB 1:50:07 [339.0KiB/s] [=============> ] 14% ETA 11:09:36
1.46GiB 1:50:14 [ 246KiB/s] [=============> ] 14% ETA 11:09:15
1.47GiB 1:53:00 [ 385KiB/s] [=============> ] 14% ETA 11:05:36
Run Code Online (Sandbox Code Playgroud)
虽然这里的大多数答案都提到了简单的命令
mysql -u database_user -p [db_name] <database_file.sql
今天,数据库和表格的utf8-collation很常见,而这个命令还不够.在导出的表中使用utf8-collation,需要使用此命令:
mysql -u database_user -p --default-character-set = utf8 [db_name] <database_file.sql
Surley这也适用于其他charsets,如何显示正确的符号可以在这里看到:
https://dev.mysql.com/doc/refman/5.7/en/show-collation.html
一条评论还提到,如果数据库永远不存在,则必须首先创建一个空数据库.在某些情况下,这可能是正确的,但取决于导出文件.如果导出的文件已包含用于创建数据库的命令,则永远不必在分离的步骤中创建数据库,这甚至可能导致导入时出错.所以在导入时,建议首先查看文件中的内容以了解哪些命令包含在那里,在导出时建议注意设置,特别是如果文件非常大且难以在编辑器中读取.
此命令还有更多参数列出和解释:
https://dev.mysql.com/doc/refman/5.7/en/mysql-command-options.html
如果您使用其他数据库版本,请考虑搜索相应的手册版本.上面提到的链接指的是MySQL 5.7版.
小智 8
以下命令适用于WAMP上Windows 7上的命令行(cmd).
d:/wamp/bin/mysql/mysql5.6.17/bin/mysql.exe -u root -p db_name < database.sql
Run Code Online (Sandbox Code Playgroud)
小智 8
您可以尝试此查询。
出口:
mysqldump -u username –-password=your_password database_name > file.sql
Run Code Online (Sandbox Code Playgroud)
进口:
mysql -u username –-password=your_password database_name < file.sql
Run Code Online (Sandbox Code Playgroud)
和此链接后面的详细信息:
我认为它对那些使用Mac OS X的人有用:
/Applications/xampp/xamppfiles/bin/mysql -u root -p database < database.sql
Run Code Online (Sandbox Code Playgroud)
替换xampp为mamp或其他Web服务器.
类似于vladkras 对如何使用 MySQL 中的命令行导入 SQL 文件的回答?.
对我来说的主要区别:
-p和密码之间没有空格shell> mysql -u root -ppassword #note: no space between -p and password
mysql> CREATE DATABASE databasename;
mysql> using databasename;
mysql> source /path/to/backup.sql
Run Code Online (Sandbox Code Playgroud)
我正在使用 MariaDB 运行 Fedora 26。
小智 5
有时,定义的端口以及该数据库的服务器IP地址也很重要......
mysql -u user -p user -h <Server IP> -P<port> (DBNAME) < DB.sql
Run Code Online (Sandbox Code Playgroud)
小智 5
出于备份目的,创建BAT文件并使用任务计划程序运行此BAT文件.它将需要备份数据库; 只需复制以下行并粘贴到记事本中,然后保存.bat文件,并在您的系统上运行它.
@echo off
for /f "tokens=1" %%i in ('date /t') do set DATE_DOW=%%i
for /f "tokens=2" %%i in ('date /t') do set DATE_DAY=%%i
for /f %%i in ('echo %date_day:/=-%') do set DATE_DAY=%%i
for /f %%i in ('time /t') do set DATE_TIME=%%i
for /f %%i in ('echo %date_time::=-%') do set DATE_TIME=%%i
"C:\Program Files\MySQL\mysql server 5.5\bin\mysqldump" -u username -ppassword mysql>C:/%DATE_DAY%_%DATE_TIME%_database.sql
Run Code Online (Sandbox Code Playgroud)
小智 5
以下步骤有助于上载到file.sqlMySQL数据库。
第1步:上传file.sql.zip到任意目录并解压有
注:sudo apt-get install unzip
:sudo apt-get unzip file.sql.zip
第2步:现在,导航到该目录。例:cd /var/www/html
步骤3:mysql -u username -p database-name < file.sql
输入密码,然后等待上传完成。
我一直在遇到没有创建数据库的问题.
我这样修好了
mysql -u root -e "CREATE DATABASE db_name"
mysql db_name --force < import_script.sql
Run Code Online (Sandbox Code Playgroud)
在命令行上提供凭据不是一个好主意。上面的答案很好,但忽略了
mysql --defaults-extra-file=etc/myhost.cnf database_name < file.sql
Run Code Online (Sandbox Code Playgroud)
其中etc / myhost.cnf是包含主机,用户,密码的文件,您可以避免在命令行上暴露密码。这是一个样本,
[client]
host=hostname.domainname
user=dbusername
password=dbpassword
Run Code Online (Sandbox Code Playgroud)
我正在使用 Windows 10 和 PowerShell 5,我发现几乎所有“类 Unix”解决方案都不适合我。
> mysql -u[username] [database-name] < my-database.sql
At line:1 char:31
+ mysql -u[username] [database-name] < my-database.sql
+ ~
The '<' operator is reserved for future use.
+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : RedirectionNotSupported
Run Code Online (Sandbox Code Playgroud)
我最终使用了这个命令:
> type my-database.sql | mysql -u[username] -h[localhost] -p [database-name]
Run Code Online (Sandbox Code Playgroud)
它工作得很好,希望它有所帮助。
感谢@ Francesco Casula的回答,顺便说一句。
导入数据库:
mysql -u用户名-p数据库名</文件路径/文件名.sql
从数据库导出:
mysqldump -u用户名-p数据库名> /文件路径/文件名.sql
执行这些命令后,将提示您输入MySQL密码。
| 归档时间: |
|
| 查看次数: |
3028193 次 |
| 最近记录: |