从命令行下载MySQL转储



command-line command-line-arguments (6)

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



只需在你的命令中输入mysqldumpmysqldump --help就会显示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

在最新版本的mysql中,至少在我的系统中,你不能直接在你的命令中输入你的密码。

你必须运行:

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

然后它会询问密码。


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

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

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


您可以使用mysqldump命令行功能完成此操作。

例如:

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

   $ 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文件放在您运行命令行的文件夹中。

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


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

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




linode