默认情况下,mysqldump对整个数据库进行备份。我需要在MySQL中备份一个表。这可能吗?我怎么恢复它?
当前回答
只需使用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;
--
try
for line in $(mysql -u... -p... -AN -e "show tables from NameDataBase");
do
mysqldump -u... -p.... NameDataBase $line > $line.sql ;
done
$line内容名称表;)
您可以使用MYSQLWorkbench工具轻松地转储选定的表,单个或组的表在一个转储,然后导入它如下:你也可以添加主机信息,如果你是在您的本地运行通过添加-h IP.ADDRESS.NUMBER后u用户名
mysql -u root -p databasename < dumpfileFOurTableInOneDump.sql
从.sql中转储和恢复单个表
Dump
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 . Mysql
从压缩(.sql.gz)格式转储和恢复单个表
资料来源:John McGrath
Dump
mysqldump db_name table_name | gzip > table_name.sql.gz
恢复
gunzip < table_name.sql.gz | mysql -u username -p db_name
我们可以在任何给定条件下对任何特定的表进行mysql转储,如下所示
mysqldump -uusername -p -hhost databasename tablename --skip-lock-tables
如果我们想在表上添加一个特定的where条件,那么我们可以使用下面的命令
mysqldump -uusername -p -hhost databasename tablename --where="date=20140501" --skip-lock-tables
推荐文章
- MySQL对重复键更新在一个查询中插入多行
- mysql_connect():[2002]没有这样的文件或目录(试图通过unix:///tmp/mysql.sock连接)在
- MySQL:如何复制行,但改变几个字段?
- 不能删除或更新父行:外键约束失败
- 如何在SQL Server中恢复到不同的数据库?
- Mysql错误1452:不能添加或更新子行:外键约束失败
- MySQL DISTINCT在GROUP_CONCAT()上
- 第一次设计数据库:我是否过度设计了?
- 如何备份docker容器的数据卷?
- MySQL选择一个列DISTINCT,与其他列相对应
- 错误1022 -不能写;表中重复的键
- 如何修改列和更改默认值?
- 如何在MySQL 8.0中授予root用户所有权限
- mysqld_safe UNIX套接字文件目录“/var/run/mysqld”不存在
- 配置系统初始化失败