从命令行下载MySQL转储

我正在离开Linode,因为我没有必要的Linux系统pipe理员技能; 在我完成向更加友好的服务转换之前,我需要下载MySQL数据库的内容。 有没有办法从命令行执行此操作?

您可以使用mysqldump命令行function来完成此操作。

例如:

如果是整个数据库,那么:

$ mysqldump -u [uname] -p[pass] db_name > db_backup.sql 

如果是全部数据库,那么:

  $ mysqldump -u [uname] -p[pass] --all-databases > all_db_backup.sql 

如果它是DB中的特定表,则:

  $ mysqldump -u [uname] -p[pass] db_name table1 table2 > table_backup.sql 

你甚至可以使用gzip自动压缩输出(如果你的数据库非常大):

  $ mysqldump -u [uname] -p[pass] db_name | gzip > db_backup.sql.gz 

如果您想远程执行此操作,并且有权访问相关服务器,则可以使用以下命令(假定MySQL服务器位于端口3306上):

  $ mysqldump -P 3306 -h [ip_address] -u [uname] -p[pass] db_name > db_backup.sql 

它应该将.sql文件放在您运行命令行的文件夹中。

编辑:如注释中所述,为了避免在命令历史logging中包含密码,请使用-p选项而不使用密码。 它会提示你,而不是logging它。

mysqldump是你在找什么。

在Windows上,您需要指定mysqldump.exe所在的mysql bin。

 cd C:\xampp\mysql\bin mysqldump -u[username] -p[password] --all-databases > C:\localhost.sql 

将其保存到backup.cmd等文本文件中

在最新版本的mysql中,至less在我的,你不能直接把你的通行证在命令。

你必须运行:

mysqldump -u [uname] -p db_name > db_backup.sql

然后它会要求input密码。

如果从远程服务器下载,这是一个简单的例子:

 mysqldump -h my.address.amazonaws.com -u my_username -p db_name > /home/username/db_backup_name.sql 

-p表示您将input密码,它不涉及到db_name。 input命令后,系统会提示您input密码。 input并按下回车键。

只需键入mysqldumpmysqldump --help在cmd中显示how to use

这是我的CMD结果

 C:\Program Files\MySQL\MySQL Server 5.0\bin>mysqldump Usage: mysqldump [OPTIONS] database [tables] OR mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...] OR mysqldump [OPTIONS] --all-databases [OPTIONS] For more options, use mysqldump --help 

mysqldump.exe -u username -p -P PORT_NO database > backup.sql —>如果你运行MYSQL以外的默认端口

打开命令提示符,并直接键入此命令。 不要进入mysql,然后input这个命令。

 mysqldump -u [uname] -p[pass] db_name > db_backup.sql 

进入MySQL安装目录并从那里打开cmd。 然后执行下面的命令获取数据库的备份。

 mysqldump -u root -p --add-drop-database --databases db> C:\db-dontdelete\db.sql