一尘不染

从命令行下载MySQL转储

mysql

我离开Linode是因为我没有必要的Linux
sysadmin技能。在完成向更加友好的服务过渡之前,我需要下载MySQL数据库的内容。有什么办法可以从命令行执行此操作?


阅读 382

收藏
2020-05-17

共1个答案

一尘不染

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

例如:

如果是整个数据库,则:

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

如果是所有DB,那么:

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

如果是数据库中的特定表,则:

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

您甚至可以使用gzip来自动压缩输出(如果您的数据库很大):

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

如果要 远程 执行此 操作, 并且可以访问有问题的服务器,则可以使用以下命令(假设MySQL服务器位于端口3306上):

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

它会将.sql文件拖放到您从中运行命令行的文件夹中。

编辑: 更新为避免在CLI命令中包含密码,请使用-p不带密码的选项。它将提示您输入而不记录它。

2020-05-17