Answers:
您可以使用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
不带密码的选项。它会提示您输入而不记录下来。
wget
或scp
将需要检索所述文件一旦建成。
--result-file=db_backup.sql
而不是> db_backup.sql
。来自MySQL文档的引文:“不允许将UTF-16作为连接字符集(请参见不允许的客户端字符集),因此转储文件将无法正确加载。要解决此问题,请使用--result-file
选项,该选项将在ASCII格式”。
在最新版本的mysql中,至少在我的版本中,您不能直接在命令中放入密码。
您必须运行:
mysqldump -u [uname] -p db_name > db_backup.sql
然后它将要求输入密码。
-p
选项和实际密码之间的空格就可以了
打开命令提示符,然后直接键入此命令。不要进入mysql,然后键入此命令。
mysqldump -u [uname] -p[pass] db_name > db_backup.sql
只需输入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
如果您正在运行除默认端口以外的MySQL:
mysqldump.exe -u username -p -P PORT_NO database > backup.sql
对于那些想要在命令行中输入密码的用户。可以但建议在引号内传递它,以使特殊字符不会引起任何问题。
mysqldump -h'my.address.amazonaws.com' -u'my_username' -p'password' db_name > /path/backupname.sql
使用此命令如果您具有名为archiedb的数据库,请使用此mysql -p --databases archiedb> /home/database_backup.sql
假设这是linux,请选择备份文件的保存位置。
注意:此步骤仅在转储MySQL文件(上面的大多数答案已解决)之后执行。
它假定您在远程服务器中具有所述转储文件,现在您要将其转储到本地计算机。
要将转储的.sql
文件从远程服务器下载到本地计算机,请执行
scp -i YOUR_SSH_KEY your_username@IP:name_of_file.sql ./my_local_project_dir