从命令行下载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并按下回车键。
只需键入mysqldump
或mysqldump --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