Downloading MySQL dump from command line
我要离开Linode,因为我没有必要的Linux系统管理技能;在我完成向更为Noob友好的服务的转换之前,我需要下载MySQL数据库的内容。有什么方法可以从命令行执行此操作吗?
您可以使用mysqldump命令行函数来完成这项工作。
例如:
如果是整个数据库,那么:
1 | $ mysqldump -u [uname] -p[pass] db_name > db_backup.sql |
如果都是DBS,那么:
1 |
如果它是数据库中的特定表,那么:
1 | $ mysqldump -u [uname] -p[pass] db_name table1 table2 > table_backup.sql |
您甚至可以使用gzip自动压缩输出(如果您的数据库很大):
1 | $ mysqldump -u [uname] -p[pass] db_name | gzip > db_backup.sql.gz |
如果您想远程执行此操作,并且您有权访问相关服务器,那么以下操作将有效(假设mysql服务器位于端口3306上):
1 | $ mysqldump -P 3306 -h [ip_address] -u [uname] -p[pass] db_name > db_backup.sql |
它应该将
编辑:如注释中所述,为了避免在命令历史记录中包含密码,请使用不带密码的
mysqldump就是你要找的。
在MySQL的最新版本中,至少在我的版本中,不能直接将pass放在命令中。
你必须跑:
然后它会要求输入密码。
如果从远程服务器下载,下面是一个简单的示例:
1 | mysqldump -h my.address.amazonaws.com -u my_username -p db_name > /home/username/db_backup_name.sql |
-p表示您将输入一个密码,它与db_名称无关。输入命令后,系统将提示您输入密码。输入并按Enter键。
在Windows上,需要指定mysqldump.exe所在的mysql bin。
将其保存到文本文件中,如backup.cmd
转到mysql安装目录,从中打开cmd。然后执行下面的命令以获取数据库的备份。
打开命令提示符,直接键入此命令。不要进入mysql然后键入这个命令。
1 | mysqldump -u [uname] -p[pass] db_name > db_backup.sql |
如果运行的MySQL不是默认端口:
1 |
只要在命令中键入
这是我的命令结果
1 2 3 4 5 |
用这个如果数据库名为archiedb,用这个mysql-p--数据库存档b>/home/database_backup.sql
假设这是Linux,请选择备份文件的保存位置。