我离开Linode是因为我没有必要的Linux系统管理技能;在我完成向更友好的noob服务的过渡之前,我需要下载MySQL数据库的内容.有没有办法从命令行执行此操作?

推荐答案

您可以使用mysqldump命令行函数来实现这一点.

例如:

如果是一个完整的数据库,那么:

   $ mysqldump -u [uname] -p db_name > db_backup.sql

如果都是DBs,那么:

   $ 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文件放到运行命令行的文件夹中.

EDIT:更新为避免在CLI命令中包含密码,请使用不带密码的-p选项.它会提示您输入,而不会记录.

Mysql相关问答推荐

MySQL将JSON值从对象类型更改为数组

MySQL Group by或Distinct in Window函数

布尔值之间的 SQL less/greater 比较会产生意外结果

我是否需要在 N+1 列上建立索引,才能有效地在 N 列上执行 SELECT,并按其他列排序?

在 mySQL 中计算每日数组的每周指标

如何确保 SQL 记录的列不引用它自己的主键?

Select 不同的列,其中另一列不包含特定值

基于关系的每个实体有一个真值和多个假值

获取 TEXT 类型行的百分比

如何从具有第一行列值的表中 Select 客户的最新记录

查询获取日期之间的可数匹配条目并加入它们以读取用户状态

计算每个用户在第二个表中有多少条记录

PHP,MySQL 错误:列计数与第 1 行的值计数不匹配

在 WHERE 子句中使用 CASE

默认为空字符串的列

MySQL 在每个唯一值第一次出现时 Select 行

MySQL - 基于同一表中的行求和列值

Mysql:创建表时将DATETIME的格式设置为'DD-MM-YYYY HH:MM:SS'

从 MySQL 中的日、月、年字段创建日期

什么是全文索引,我应该什么时候使用它?