我离开Linode是因为我没有必要的Linux系统管理技能;在我完成过渡到对新手更友好的服务之前,我需要下载MySQL数据库的内容。是否有一种方法可以从命令行执行此操作?


当前回答

如果你正在运行MySQL而不是默认端口:

mysqldump.exe -u username -p -P PORT_NO database > backup.sql

其他回答

@echo off
for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"
set "YY=%dt:~2,2%" & set "YYYY=%dt:~0,4%" & set "MM=%dt:~4,2%" & set "DD=%dt:~6,2%"
set "HH=%dt:~8,2%" & set "Min=%dt:~10,2%" & set "Sec=%dt:~12,2%"
set "datestamp=%YYYY%.%MM%.%DD%.%HH%.%Min%.%Sec%"
set drive=your backup folder
set databaseName=your databasename
set user="your database user"
set password="your database password"
subst Z: "C:\Program Files\7-Zip" 
subst M: "D:\AppServ\MySQL\bin"
set zipFile="%drive%\%databaseName%-%datestamp%.zip"
set sqlFile="%drive%\%databaseName%-%datestamp%.sql"
M:\mysqldump.exe --user=%user% --password=%password% --result-file="%sqlFile%" --databases %databaseName%
@echo Mysql Backup Created
Z:\7z.exe a -tzip "%zipFile%" "%sqlFile%"
@echo File Compress End
del %sqlFile%
@echo Delete mysql file
pause;

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

你必须跑:

mysqldump -u[新]-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无关。输入命令后,将提示输入密码。输入它并按enter。

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

cd C:\xampp\mysql\bin

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

将其保存到一个文本文件中,如backup.cmd

如果你正在运行MySQL而不是默认端口:

mysqldump.exe -u username -p -P PORT_NO database > backup.sql