如何备份MySQL数据库中的单个表?
默认情况下, mysqldump
获取整个数据库的备份。 我需要在MySQL中备份单个表。 可能吗? 我该如何恢复?
从.sql转储并恢复单个表
倾倒
mysqldump db_name table_name > table_name.sql
从远程数据库转储
mysqldump -u <db_username> -h <db_host> -p db_name table_name > table_name.sql
作进一步参考:
http://www.abbeyworkshop.com/howto/lamp/MySQL_Export_Backup/index.html
恢复
mysql -u <user_name> -p db_name mysql> source <full_path>/table_name.sql
或在一行
mysql -u username -p db_name < /path/to/table_name.sql
从压缩(.sql.gz)格式转储并恢复单个表
信贷: 约翰McGrath
倾倒
mysqldump db_name table_name | gzip > table_name.sql.gz
恢复
gunzip < table_name.sql.gz | mysql -u username -p db_name
mysqldump可以带一个tbl_name参数,这样它只备份给定的表。
mysqldump -u -p yourdb yourtable > c:\backups\backup.sql
尝试
for line in $(mysql -u... -p... -AN -e "show tables from NameDataBase"); do mysqldump -u... -p.... NameDataBase $line > $line.sql ; done
- $ line cotent names tables;)
我们可以使用任何给定的条件,如下所示的任何特定表的MySQL转储
mysqldump -uusername -p -hhost databasename tablename --skip-lock-tables
如果我们想在表上添加一个特定的条件,那么我们可以使用下面的命令
mysqldump -uusername -p -hhost databasename tablename --where="date=20140501" --skip-lock-tables
您可以轻松地使用MYSQLWorkbench tool
,单个或一组表在一个转储转储选定的表,然后导入它也如果你可以添加主机信息,如果你在本地运行它通过添加-h IP.ADDRESS.NUMBER之后-u用户名
mysql -u root -p databasename < dumpfileFOurTableInOneDump.sql
你可以使用这个代码:
这个例子需要sugarcrm数据库的备份并将输出转储到sugarcrm.sql
# mysqldump -u root -ptmppassword sugarcrm > sugarcrm.sql # mysqldump -u root -p[root_password] [database_name] > dumpfilename.sql
sugarcrm.sql将包含下拉表,create table和insert命令,用于sugarcrm数据库中的所有表。 以下是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; --
你可以从命令行使用mysqldump
:
mysqldump -u username -p password dbname tablelname > "path where you want to dump"
你也可以使用MySQL Workbench:
转到左侧>数据导出>select模式>select表格,然后单击导出
你可以使用下面的代码:
- 单表结构单独备份
–
mysqldump -d <database name> <tablename> > <filename.sql>
- 用于带有数据的单表结构
–
mysqldump <database name> <tablename> > <filename.sql>
希望它会有所帮助。