默认情况下,mysqldump对整个数据库进行备份。我需要在MySQL中备份一个表。这可能吗?我怎么恢复它?
当前回答
Mysqldump可以接受一个tbl_name参数,这样它只备份给定的表。
mysqldump -u -p yourdb yourtable > c:\backups\backup.sql
其他回答
我们可以在任何给定条件下对任何特定的表进行mysql转储,如下所示
mysqldump -uusername -p -hhost databasename tablename --skip-lock-tables
如果我们想在表上添加一个特定的where条件,那么我们可以使用下面的命令
mysqldump -uusername -p -hhost databasename tablename --where="date=20140501" --skip-lock-tables
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
你可以使用下面的代码:
对于单表结构单独备份
-
mysqldump -d <database name> <tablename> > <filename.sql>
对于单表结构的数据
-
mysqldump <database name> <tablename> > <filename.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中文本列不能有一个默认值?
- 使用SQL查询查找最近的纬度/经度
- 如何停止mysqld
- 检查MySQL表是否存在而不使用“select from”语法?
- 从NOW() -1天选择记录
- 从表中选择1是什么意思?
- 数据库性能调优有哪些资源?
- 如何更改表的默认排序规则?
- MySQL foreign_key_checks是否影响整个数据库?
- 设置NOW()为datetime数据类型的默认值?
- 在MySQL中Datetime等于或大于今天
- 删除MySQL中的主键
- 我如何在MySQL中添加更多的成员到我的enum类型列?
- 相当于varchar(max)在MySQL?
- PHP与MySQL 8.0+错误:服务器请求身份验证方法未知的客户端