从命令行下载MySQL转储
我正在离开Linode,因为我没有必要的Linux系统管理员技能; 在我完成向更友好的noob友好服务的过渡之前,我需要下载MySQL数据库的内容。 有没有办法可以从命令行执行此操作?
10个解决方案
455 votes
您可以使用mysqldump命令行函数完成此操作。
例如:
如果它是一个完整的数据库,那么:
$ 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
它应该将-p文件放在运行命令行的文件夹中。
编辑:如评论中所述,为避免在命令历史记录中包含密码,请使用不带密码的-p选项。 它会提示你,而不是记录它。
nickhar answered 2019-03-07T19:59:40Z
14 votes
mysqldump就是你要找的。
Faruk Sahin answered 2019-03-07T20:00:04Z
8 votes
在最新版本的mysql中,至少在我的版本中,你不能直接在命令中输入你的传递。
你必须运行:
mysqldump -u [uname] -p db_name > db_backup.sql
然后它会要求输入密码。
Lorenzo Lerate answered 2019-03-07T20:00:47Z
4 votes
在Windows上,您需要指定mysqldump.exe所在的mysql bin。
cd C:\xampp\mysql\bin
mysqldump -u[username] -p[password] --all-databases > C:\localhost.sql
将其保存到文本文件中,例如backup.cmd
drooh answered 2019-03-07T20:01:17Z
4 votes
如果从远程服务器下载,这是一个简单的例子:
mysqldump -h my.address.amazonaws.com -u my_username -p db_name > /home/username/db_backup_name.sql
-p表示您将输入密码,它与db_name无关。 输入命令后,系统将提示您输入密码。 输入,然后按Enter键。
Andrew answered 2019-03-07T20:01:47Z
1 votes
打开命令提示符,直接键入此命令。 不要进入mysql,然后键入此命令。
mysqldump -u [uname] -p[pass] db_name > db_backup.sql
Nithin Raja answered 2019-03-07T20:02:11Z
1 votes
转到MySQL安装目录并从那里打开cmd。然后执行以下命令以获取数据库的备份。
mysqldump -u root -p --add-drop-database --databases db> C:\db-dontdelete\db.sql
user8376416 answered 2019-03-07T20:02:35Z
0 votes
只需在您的cmd中键入mysqldump或mysqldump --help即可显示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
Suganthan Madhavan Pillai answered 2019-03-07T20:03:06Z
0 votes
如果您运行MySQL而不是默认端口:
mysqldump.exe -u username -p -P PORT_NO database > backup.sql
Anand Raj answered 2019-03-07T20:03:32Z
-1 votes
用这个如果您的数据库名为archiedb,用这个mysql -p --databases archiedb>/home/database_backup.sql
假设这是linux,请选择保存备份文件的位置。
Nabaasa Archie answered 2019-03-07T20:04:04Z