我离开Linode是因为我没有必要的Linux系统管理技能;在我完成过渡到对新手更友好的服务之前,我需要下载MySQL数据库的内容。是否有一种方法可以从命令行执行此操作?
当前回答
进入MySQL安装目录,并从那里打开cmd。 然后执行下面的命令来获得数据库的备份。
mysqldump -u root -p --add-drop-database --databases db> C:\db-dontdelete\db.sql
其他回答
您可以使用mysqldump命令行函数来实现这一点。
例如:
如果它是一个完整的DB,那么:
$ mysqldump -u [uname] -p db_name > db_backup.sql
如果都是db,那么:
$ mysqldump -u [uname] -p --all-databases > all_db_backup.sql
如果它是一个DB中的特定表,那么:
$ mysqldump -u [uname] -p db_name table1 table2 > table_backup.sql
你甚至可以使用gzip自动压缩输出(如果你的DB非常大):
$ 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文件放到运行命令行的文件夹中。 EDIT:更新以避免在CLI命令中包含密码,使用不带密码的-p选项。它会提示你,而不是记录它。
只需输入mysqldump或mysqldump——cmd中的帮助将显示如何使用
下面是我的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
如果你有一个名为archiedb的数据库,使用这个:
mysql -p <password for the database> --databases archiedb > /home/database_backup.sql
假设这是Linux,选择备份文件保存的位置。
在最新版本的mysql中,至少在我的版本中,你不能直接在命令中输入你的pass。
你必须跑:
mysqldump -u[新]-p db_name > db_backup.sql
然后它会要求输入密码。
推荐文章
- Linux相当于Mac OS X的“open”命令
- 如何在Mac上的命令行安装JQ ?
- MySQL更新内部连接表查询
- 在命令行中使用Firefox截取完整页面的截图
- 在pip install -U中“-U”选项代表什么
- 根据查询结果设置用户变量
- 如何将参数转发到bash脚本中的其他命令?
- 不能删除外键约束中需要的索引
- MySQL现在()+1天
- MySQL索引的最佳实践是什么?
- 如何在Mac OS安装时停止MySQL ?
- 外键约束:何时使用ON UPDATE和ON DELETE
- 在MySQL中使用INDEX和KEY有什么区别?
- 连接查询vs多个查询
- MySQL:在同一个MySQL实例上克隆MySQL数据库