设为首页收藏本站

LinuxTone | 运维专家网论坛 - 最棒的Linux运维与开源架构技术交流社区!

 找回密码
 注册

QQ登录

只需一步,快速开始

#公告#抱歉,网站将关闭,不再开放。由于PC时代已远逝 。在这个后移动互联网时代,我们继续携手前行,保持对技术的热情。共同构建linuxtone知识星球欢迎加入,一起讨论技术、招聘人才、分享资源。请新老linuxtone人 扫码移步到 知识星球:linuxtone

学习是一种信仰!分享是一种快乐!能力= 心态 * 沟通 * 知识 (你的每一天需要正能量!)

 网站的发展需要你贡献一份力量!希望你能每天坚持看贴1小时,并回答网友的问题!祝你在浏览论坛的过程中取得进步!谢谢!linuxtone加油!大家加油! 友情提示: 你今天学习了吗?你今天进步了吗?少一点抱怨!多一点进步!Life is short ! Why not linuxtone ?  

网站的发展、感谢每位坛友的努力!

查看: 2995|回复: 4

[MySQL管理] mysqldump恢复问题 [复制链接]

Rank: 1

签到
0
注册时间
2009-3-1
最后登录
2010-5-19
在线时间
36 小时
阅读权限
1
积分
7
帖子
13
主题
2
精华
0
UID
1651
发表于 2009-3-15 12:12:46 |显示全部楼层
系统:RHEL5
数据库:mysql 5.0
C数据库有800多MB,库中有20多张表,用mysqldump每天全备份一次,现在所遇到的问题是:C数据库中有一张表(A表)被改乱了,想恢复,可是数据库800多MB,怎么才能找出其中的一张表(A表)。请高手指教,谢谢!

LT管理团队

社区首席勤杂工

Rank: 9Rank: 9Rank: 9

注册时间
2008-5-19
最后登录
2019-11-16
在线时间
1946 小时
阅读权限
200
积分
59409
帖子
2551
主题
1209
精华
25
UID
1

LT总司令

发表于 2009-3-15 17:15:57 |显示全部楼层
可以针对单个表导出数据:
mysqldump ?opt ?add-drop-table -uroot -ppassword database table > table.sql
<-sina_sign,1762622645,2a5b1a59,10->感谢大家对linuxtone的支持!</strong>

使用道具 举报

Rank: 1

注册时间
2009-3-1
最后登录
2010-5-19
在线时间
36 小时
阅读权限
1
积分
7
帖子
13
主题
2
精华
0
UID
1651
发表于 2009-3-16 12:08:59 |显示全部楼层
谢谢NetSeek大哥,关键是数据库现在的备份策略为全备份,我不太明白的地方就是如何把整个库中的某一张表给导出来。

使用道具 举报

LT管理团队

社区首席勤杂工

Rank: 9Rank: 9Rank: 9

注册时间
2008-5-19
最后登录
2019-11-16
在线时间
1946 小时
阅读权限
200
积分
59409
帖子
2551
主题
1209
精华
25
UID
1

LT总司令

发表于 2009-3-16 12:45:08 |显示全部楼层
3# 曦风日记

上面的命令就是导出单个表结构和相关的数据了。

数据量比较大,最好做个mysql replication ,除了每天dump或者gz压缩保存库,同时还用replication来热备。这样比较可靠,遇到问题还可以用bin-log 来恢复。
<-sina_sign,1762622645,2a5b1a59,10->感谢大家对linuxtone的支持!</strong>

使用道具 举报

Rank: 7Rank: 7Rank: 7

注册时间
2008-6-1
最后登录
2017-9-11
在线时间
152 小时
阅读权限
100
积分
2894
帖子
309
主题
39
精华
5
UID
35

LT同学

发表于 2009-3-17 09:48:03 |显示全部楼层
这个通过MYSQL命令恢复单个表还没有弄过。你最好用个编辑器打开。重新复制进行建表,导入 数据。这个我不建立,太笨了。你可以再建立一个库,用命令导入表及数据。然后把原来的表干掉,再建立表,建表用新导入的库中的

现有环境,老库为old
新库为new

  1. use new
复制代码


  1. show create table action_log\G
复制代码



把建表的语法在老库上执行一次

  1. CREATE TABLE `action_log` (
  2.   `IdActionLog` int(11) NOT NULL AUTO_INCREMENT,
  3.   `TableName` varchar(100) DEFAULT NULL,
  4.   `ActionType` varchar(50) DEFAULT NULL,
  5.   `IdUser` int(11) DEFAULT NULL,
  6.   `ActionTime` datetime DEFAULT NULL,
  7.   `BeforeValue` varchar(1000) DEFAULT NULL,
  8.   `AfterValue` varchar(1000) DEFAULT NULL,
  9.   PRIMARY KEY (`IdActionLog`)
  10. ) ENGINE=MyISAM AUTO_INCREMENT=6084 DEFAULT CHARSET=utf8;
复制代码

  1. use old
复制代码



然后
在老库上执行
  1. insert into action_log  select * from new.action_log
复制代码

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

IT运维专家网感谢您的支持

合作联系: QQ:67888954/MSN:cnseek@msn.com/mail:netseek@linuxtone.org

Archiver|手机版|感谢所有关心和支持过LinuxTone的朋友们 转载本站内容请注明原作者名及出处 ( 京ICP备08103151 )   |

GMT+8, 2020-3-28 19:51 , Processed in 0.022261 second(s), 14 queries , Apc On.

Powered by Discuz! X2 Licensed

© 2001-2011 Comsenz Inc.

回顶部