如何使用命令提示符导出mysql数据库?

Sta*_*arx 319 mysql

我有一个非常大的数据库所以我想使用命令提示符导出它,但我不知道如何.

我正在使用WAMP.

Sta*_*arx 510

首先检查命令行是否识别mysql命令.如果没有去命令和输入:

set path=c:\wamp\bin\mysql\mysql5.1.36\bin
Run Code Online (Sandbox Code Playgroud)

然后使用此命令导出数据库:

mysqldump -u YourUser -p YourDatabaseName > wantedsqlfile.sql
Run Code Online (Sandbox Code Playgroud)

然后,系统将提示输入数据库密码.

这会将数据库导出到您当前所在的路径,同时执行此命令

注意:以下是有关导入和导出的一些详细说明

  • 你应该只使用`-p`,然后会提示输入密码.这样就可以避免保存密码,例如`.bash_history` (43认同)
  • @AteşDanış`-p`和`thepassword`之间没有空格. (11认同)
  • 它在选择数据库时出现错误"mysqldump:得到错误:1049:未知数据库'thepassword'"但是当我删除"-p userpassword"时有效 (7认同)
  • 对我来说,这个命令有效:**mysqldump -u YourUser -p YourDatabaseName> wantedsqlfile.sql**(输入命令,按回车键,然后输入密码). (7认同)
  • 在命令行上指定密码应该被认为是不安全的. (2认同)

Sri*_*n.S 106

只需使用以下命令,

出口:

mysqldump -u [user] -p [db_name] | gzip > [filename_to_compress.sql.gz] 
Run Code Online (Sandbox Code Playgroud)

进口:

gunzip < [compressed_filename.sql.gz]  | mysql -u [user] -p[password] [databasename] 
Run Code Online (Sandbox Code Playgroud)

注意:关键字"-p"和密码之间没有空格.

  • 指定 `gzip -9` 会使生成的文件更小一些,因为使用了最大压缩。 (3认同)

小智 36

首先打开命令提示符,然后在cmd中打开bin目录(我希望你知道用cmd命令)转到WAMP程序文件中MySql文件夹的bin目录.

运行命令

mysqldump -u db_username -p database_name > path_where_to_save_sql_file
Run Code Online (Sandbox Code Playgroud)

按Enter系统将导出特定数据库并创建sql文件到给定位置.

我希望你明白了:)如果您有任何疑问,请告诉我.


Ume*_*til 33

那么你可以使用下面的命令,

mysqldump --databases --user=root --password your_db_name > export_into_db.sql

生成的文件将在您运行此命令的同一目录中可用.

你可以找到更多关于本作的官方参考mysqldump:导入导出MySQL数据库或从

注意:使用--databases而不是--database因为不再支持最后一个.

请享用 :)

  • 对于那些收到"使用LOCK TABLES时拒绝访问"等错误的用户,应该在命令中添加"--single-transaction"参数. (3认同)

小智 20

转到此路径的命令提示符,

C:\Program Files (x86)\MySQL\MySQL Server 5.0\bin>

然后给这个命令导出你的数据库(-p后没有空格)

mysqldump -u[username] -p[userpassword] yourdatabase > [filepath]wantedsqlfile.sql


Ope*_*ned 20

使用以下命令找到您的mysql实例:

which mysql
Run Code Online (Sandbox Code Playgroud)

如果这是正确的,那么使用以下内容导出(否则导航到bin中mamp文件夹中的mysql实例):

mysqldump -u [username] -p [password] [dbname] > filename.sql
Run Code Online (Sandbox Code Playgroud)

如果你想在同一时间拉链:

mysqldump -u [username] -p [password] [db] | gzip > filename.sql.gz
Run Code Online (Sandbox Code Playgroud)

然后,您可以在服务器之间移动此文件:

scp user@xxx.xxx.xxx.xxx:/path_to_your_dump/filename.sql.gz your_detination_path/
Run Code Online (Sandbox Code Playgroud)

(其中xxx.xxx.xxx.xxx是服务器IP地址)

然后导入它:

gunzip filename.sql.gz | mysql -u [user] -p [password] [database]
Run Code Online (Sandbox Code Playgroud)

  • 再次,**W**AMP => Windows.**哪个**是Linux命令.gunzip/gzip不与Windows捆绑 - 可能无法使用.scp ...你明白了. (4认同)

arc*_*ius 17

要导出PROCEDURE,FUNCTION和TRIGGER,请添加--routines参数:

mysqldump -u YourUser -p YourDatabaseName --routines > wantedsqlfile.sql


小智 11

所有这些解决方案(使用>重定向器字符)的问题在于您从 stdout 写入转储,这可能会破坏数据库某些字符的编码。

如果您有字符编码问题。如 :

ERROR 1064 (42000):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以了解要在附近使用的正确语法...

然后,您必须使用-r选项来写入文件。

MySQL

mysqldump -u user -pyour-password-without-space-between-letter-p-and-your-password --default-character-set=utf8 --host $HOST database-name -r dump.sql
Run Code Online (Sandbox Code Playgroud)

使用 Docker

docker exec --rm -v $pwd:dump -it mysql:5:7 mysqldump -u user -pyour-password-without-space-between-letter-p-and-your-password --default-character-set=utf8 --host $HOST database-name -r dump/dump.sql
Run Code Online (Sandbox Code Playgroud)

注意:这会将当前路径安装为实例内的转储。

我们在这里找到了答案

相反,不要使用<将您的转储导入到您的数据库中,同样,您的非 utf8 字符可能不会被传递;但更喜欢源选项。

mysql -u user -pYourPasswordYouNowKnowHow --default-character-set=utf8 your-database
mysql> SET names 'utf8'
mysql> SOURCE dump.sql
Run Code Online (Sandbox Code Playgroud)

  • 请注意在命令中写入密码。它将保存在 bash 历史记录中并可能破坏安全性。 (2认同)

Oss*_*ama 9

使用此命令导出数据库,这也将包括日期

mysqldump -u[username] -p[userpassword] --databases yourdatabase | gzip > /home/pi/database_backup/database_`date '+%m-%d-%Y'`.sql.gz
Run Code Online (Sandbox Code Playgroud)

(-p后没有空格)


Sac*_*hin 8

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

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 and select the currently working mysql version on your server if you have more than one mysql versions)
D:\wamp\bin\mysql\mysql5.5.8>cd bin
D:\wamp\bin\mysql\mysql5.5.8\bin>mysqldump -u root -p password db_name > "d:\backupfile.sql"
Run Code Online (Sandbox Code Playgroud)

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


Nan*_*mar 7

mysqldump -h [host] -p -u [user] [database name] > filename.sql
Run Code Online (Sandbox Code Playgroud)

localhost中的示例

mysqldump -h localhost -p -u root cookbook > cookbook.sql
Run Code Online (Sandbox Code Playgroud)


小智 5

mysqldump --no-tablespaces -u username -p pass database_name > db_backup_file.sql
Run Code Online (Sandbox Code Playgroud)

  • 虽然此代码可以解决问题,但[包括解释](//meta.stackexchange.com/q/114762) 如何以及为何解决问题确实有助于提高帖子的质量,并可能会带来更多结果赞成票。请记住,您是在为将来的读者回答问题,而不仅仅是现在提问的人。请[编辑]您的答案以添加解释并指出适用的限制和假设。 (2认同)

ume*_*alu 5

对于进口:

mysql -u db_username -p newFileName < databasName.sql
Run Code Online (Sandbox Code Playgroud)

对于出口:

mysqldump -u db_username -p databasName > newFileName.sql
Run Code Online (Sandbox Code Playgroud)