如何在MySQL数据库中备份单个表?

时间:2011-07-13 17:17:44

标签: mysql backup restore

默认情况下,mysqldump会占用整个数据库。我需要在MySQL中备份一个表。可能吗?我该如何恢复它?

9 个答案:

答案 0 :(得分:754)

从.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)格式转储和恢复单个表

信用:John McGrath

<强>转储

mysqldump db_name table_name | gzip > table_name.sql.gz

<强>恢复

gunzip < table_name.sql.gz | mysql -u username -p db_name

答案 1 :(得分:21)

mysqldump可以使用tbl_name参数,以便它只备份给定的表。

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

答案 2 :(得分:14)

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;)

答案 3 :(得分:11)

我们可以使用任何给定条件(如下面的

)对任何特定表进行mysql转储
mysqldump -uusername -p -hhost databasename tablename --skip-lock-tables

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

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

答案 4 :(得分:7)

您可以轻松地使用MYSQLWorkbench tool转储所选表格,在一个转储中单独或一组表格,然后按如下方式导入:如果您正在运行它,也可以添加主机信息在您的本地添加 -h IP.ADDRESS.NUMBER后用户名

mysql -u root -p databasename < dumpfileFOurTableInOneDump.sql 

答案 5 :(得分:6)

您可以使用此代码:

此示例获取sugarcrm数据库的备份并将输出转储到sugarcrm.sql

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

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

sugarcrm.sql将包含sugarcrm数据库中所有表的drop table,create table和insert命令。以下是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;

--

答案 6 :(得分:4)

您可以使用以下代码:

  1. 仅适用于单表结构备份
  2. -

    mysqldump -d <database name> <tablename> > <filename.sql>
    
    1. 对于带有数据的单表结构
    2. -

      mysqldump <database name> <tablename> > <filename.sql>
      

      希望它会有所帮助。

答案 7 :(得分:3)

您可以从命令行使用mysqldump

mysqldump -u username -p password dbname tablename > "path where you want to dump"

您也可以使用MySQL Workbench:

转到左边&gt;数据导出&gt;选择架构&gt;选择表格并单击“导出”

答案 8 :(得分:0)

只需使用import { Modal } from 'antd'; function BtnModal({visible, onCancel, onOk}){ return ( <> <Modal title="Modal" centered visible={visible} onOk={onOk} onCancel={onCancel} > <p>Lorem, ipsum dolor sit amet consectetur adipisicing elit. Sed dolorem ratione qui iste.<br /> Dignissimos nisi sint rerum numquam obcaecati voluptatem quidem, quasi rem,<br /> veritatis voluptatum omnis excepturi, fugit quia harum?</p> </Modal> </> ); }; export default BtnModal; 或使用密码import BtnModal from './BtnModal'; function Header() { const [modal2Visible,setModal2Visible]=useState(true); const handleModalOpen = () =>{ setModal2Visible(true) } const handleCancel = () =>{ setModal2Visible(false) } const handleOk = () =>{ setModal2Visible(false) } return ( <> <div className="Head-wrap"> <span>Header</span> </div> <div className="btn-list"> <button onClick={handleModalOpen}>TestBtn</button> <BtnModal visible={modal2Visible} onCancel={handleCancel} onOk={handleOk}/> </div> </> ); }; export default Header;