默认情况下,mysqldump对整个数据库进行备份。我需要在MySQL中备份一个表。这可能吗?我怎么恢复它?


当前回答

Mysqldump可以接受一个tbl_name参数,这样它只备份给定的表。

mysqldump -u -p yourdb yourtable > c:\backups\backup.sql

其他回答

Mysqldump可以接受一个tbl_name参数,这样它只备份给定的表。

mysqldump -u -p yourdb yourtable > c:\backups\backup.sql

您可以使用MYSQLWorkbench工具轻松地转储选定的表,单个或组的表在一个转储,然后导入它如下:你也可以添加主机信息,如果你是在您的本地运行通过添加-h IP.ADDRESS.NUMBER后u用户名

mysql -u root -p databasename < dumpfileFOurTableInOneDump.sql 

只需使用mysqldump -u根数据库表 或者如果使用mysqldump密码-u root -p pass数据库表

你可以使用下面的代码:

本例对sugarcrm数据库进行备份,并将输出转储到sugarcrm.sql

# mysqldump -u root -ptmppassword sugarcrm > sugarcrm.sql

# mysqldump -u root -p[root_password] [database_name] > dumpfilename.sql

sugarcrm。对于sugarcrm数据库中的所有表,SQL将包含删除表、创建表和插入命令。以下是sugarcrm的部分输出。Sql,显示accounts_contacts表的转储信息:

--

——accounts_contacts表的表结构

DROP TABLE IF EXISTS `accounts_contacts`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `accounts_contacts` (
`id` varchar(36) NOT NULL,
`contact_id` varchar(36) default NULL,
`account_id` varchar(36) default NULL,
`date_modified` datetime default NULL,
`deleted` tinyint(1) NOT NULL default '0',
PRIMARY KEY (`id`),
KEY `idx_account_contact` (`account_id`,`contact_id`),
KEY `idx_contid_del_accid` (`contact_id`,`deleted`,`account_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
SET character_set_client = @saved_cs_client;

--

我们可以在任何给定条件下对任何特定的表进行mysql转储,如下所示

mysqldump -uusername -p -hhost databasename tablename --skip-lock-tables

如果我们想在表上添加一个特定的where条件,那么我们可以使用下面的命令

mysqldump -uusername -p -hhost databasename tablename --where="date=20140501" --skip-lock-tables