Who am I --------------------------
生肖:马
星座:处女
职业:IT民工
家乡:三峡.宜昌
住址:闵行
工作:张江
目标:做最好的DBA
爱好:读书,电影,音乐,旅游
性格:动中取静
喜欢的报刊杂志:
<南方周末>
<看电影>
<蓝球先锋报>
QQ:1913908
|
 三月 8th, 2010  3阅读
如果MySQL 服务器启用了二进制日志,你可以使用mysqlbinlog工具来恢复从指定的时间点开始 (例如,从你最后一次备份)直到现在或另一个指定的时间点的数据。“mysqlbinlog:用于处理二进制日志文件的实用工具”。 要想从二进制日志恢复数据,你需要知道当前二进制日志文件的路径和文件名。一般可以从选项文件(即my.cnf or my.ini,取决于你的系统)中找到路径。如果未包含在选项文件中,当 服务器启动时,可以在命令行中以选项的形式给出。启用二进制日志的选项为—— log-bin。要想确定当前的二进制日志文件的文件名,输入下面的MySQL语句:
SHOW BINLOG EVENTS \G
你还可以从命令行输入下面的内容:
mysql ——user=root -pmy_pwd -e ‘SHOW BINLOG EVENTS \G’
将密码my_pwd替换为服务器的root密码。
1. 指定恢复时间
对于MySQL 4.1.4,可以在mysqlbinlog语句中通过——start-date和——stop-date选项指定DATETIME格式的起止时间。举例说明,假设在今天上午10:00(今天是2006年4月20日),执行SQL语句来删除一个大表。要想恢复表和数据,你可以恢复前晚上的备份,并输入:
mysqlbinlog ——stop-date=”2005-04-20 9:59:59″ /var/log/mysql/bin.123456 \
| mysql -u root -pmypwd
该命令将恢复截止到在——stop-date选项中以DATETIME格式给出的日期和时间的所有数据。如果你没有检测到几个小时后输入的错误的SQL语句,可能你想要恢复后面发生的活动。根据这些,你可以用起使日期和时间再次运行mysqlbinlog:
mysqlbinlog ——start-date=”2005-04-20 10:01:00″ /var/log/mysql/bin.123456 \
| mysql -u root -pmypwd \
在该行中,从上午10:01登录的SQL语句将运行。组合执行前夜的转储文件和mysqlbinlog的两行可以将所有数据恢复到上午10:00前一秒钟。你应检查日志以确保时间确切。下一节介绍如何实现。
2. 指定恢复位置
也可以不指定日期和时间,而使用mysqlbinlog的选项——start-position和——stop-position来指定日志位置。它们的作用与起止日选项相同,不同的是给出了从日志起的位置号。使用日志位置是更准确的恢复方法,特别是当由于破坏性SQL语句同时发生许多事务的时候。要想确定位置号,可以运行mysqlbinlog寻找执行了不期望的事务的时间范围,但应将结果重新指向文本文件以便进行检查。操作方法为:
mysqlbinlog ——start-date=”2005-04-20 9:55:00″ ——stop-date=”2005-04-20 10:05:00″ \
/var/log/mysql/bin.123456 > /tmp/mysql_restore.sql
该命令将在/tmp目录创建小的文本文件,将显示执行了错误的SQL语句时的SQL语句。你可以用文本编辑器打开该文件,寻找你不要想重复的语句。如果二进制日志中的位置号用于停止和继续恢复操作,应进行注释。用log_pos加一个数字来标记位置。使用位置号恢复了以前的备份文件后,你应从命令行输入下面内容:
mysqlbinlog ——stop-position=”368312″ /var/log/mysql/bin.123456 \
| mysql -u root -pmypwd
mysqlbinlog ——start-position=”368315″ /var/log/mysql/bin.123456 \
| mysql -u root -pmypwd \
上面的第1行将恢复到停止位置为止的所有事务。下一行将恢复从给定的起始位置直到二进制日志结束的所有事务。因为mysqlbinlog的输出包括每个SQL语句记录之前的SET TIMESTAMP语句,恢复的数据和相关MySQL日志将反应事务执行的原时间。
原文:http://blog.chinaunix.net/u/4206/showart_718900.html
 三月 8th, 2010  2阅读
x这几天在研究mysql二进制日志,在使用mysqlbinlog查看日志的时候碰到了一个问题,
错误提示如下:
/usr/local/mysql/bin/mysqlbinlog: unknown variable ‘default-character-set=utf8′
产生这个问题的原因是因为我在my.cnf中的client选项组中添加了
default-character-set=utf8
选项。因我网站所有网页使用的都是utf-8编码。为了方便和统一,故设置这个选项很是有必要。
在网上查找了下相关的资料,了解到这个是mysqlbinlog的一个bug。 既然client选项组里允许通过
default-character-set选项设置客户端编码,为何自带的工具mysqlbinlog却不认识这个选项?
在这里即使不认识,那也用不着直接出错而退出运行,若是不认识这个选项那只要略过此选项
(能给出个notice提示下不认识此选项则更好)继续运行岂不更好?
尽管如此,要解决这个bug的方法还是有的,
一种方法是使用:
loose-default-character-set=utf8
loose-选项,loose为宽松的, 散漫的, 自由的意思,在选项前加了loose-,则当程序不认识此选项时会略过此选项,
并给出一个警告
/usr/local/mysql/bin/mysqlbinlog: unknown variable ‘loose-default-character-set=utf8′
….(注:后面跟着的是日志内容)
另一种方法,我们使用mysqlbinlog查看日志的情况并不多,一般都是临时性的。我发现在使用mysqlbinlog工具查看
二进制日志时会重新读取的mysql的配置文件my.cnf(windows下是my.ini),而不是服务器已经加载进内存的配置文件。
也就是说只要修改并保存了my.cnf文件,而不需要重起mysql服务器,则使用mysqlbinlog查看时修改后的my.cnf配置文件
对mysqlbinlog而言已经生效。所以这里可以使用此方法:把client选项组中default-character-set=utf8选项屏蔽掉,如
#default-character-set=utf8
然后运行mysqlbinlog工具,则不会产生任何问题了。当然记得在不在使用mysqlbinlog工具时,把#default-character-set=utf8
选项恢复为default-character-set=utf8
若是在脚本中使用mysqlbinlog工具有此问题,则最好使用两份配置文件,一份是已屏蔽掉上面选项的,一份是没有屏蔽掉的。
在使用mysqlbinlog工具时使用前一份配置,在不使用时使用后一份配置,这样也是为了防止服务器重起导致default-character-set=utf8选项没起作用。
出处:http://blog.csdn.net/fafa211/archive/2008/05/02/2361066.aspx
 三月 4th, 2010  10阅读
元好问
太和五年乙丑岁,赴试并州,道逢捕雁者云:‘今旦获一雁,杀之矣。其脱网者悲鸣不能去,竟自投地死。’予因买得之,葬之汾水之上,累石为识,号曰雁邱。时同行者多为赋诗,予亦有《雁邱词》。
问世间情是何物,直教生死相许。
天南地北双飞客,老翅几回寒暑。
欢乐趣,离别苦,就中更有痴儿女。
君应有语,渺万里层云,千山暮雪,只影向谁去。
横汾路,寂寞当年箫鼓,荒烟依旧平楚。
招魂楚些何嗟及,山鬼暗啼风雨。
天也妒,未信与,莺儿燕子俱黄土。
千秋万古,为留待骚人,狂歌痛饮,来访雁邱处。
—————————
今年看电视节目,看到一个MM为了自己的母亲得了癌症,想让房子上写上她的名字,因为妈妈苦了一辈子,但她又没有告诉男友,男友不是很理解,毕竟这个钱也是他的父母出的.
结果两个人闹得凶,女孩子甚至说找有钱人,不管有没有老婆,至少让妈妈住上自己的房子.其情感人,但是有点傻啊,为什么不和男友分担呢?老是一个人去扛这个问题.男友还是很不错,毕竟很爱她,无论女孩子说什么,他一直不相信,觉得她说的不是真的.果然.
最后他们还是可以在一起,然后莫名就想起这首词,他们比它们幸福,无论以后面临的是什么,总是可以一起面对,互相扶持.
又想起了family album里面的一句 I won’t feel alone anymore.
祝福他们.
 三月 3rd, 2010  10阅读
前几天就看到有同事早上在玩,游戏公司就是这点好,玩游戏合法,只要不影响工作,和以前做股票的公司一样,他是看行情合法.
今天终于下载了,战网还上不去,不过单机版已经破解了,也不知道是国内还是国外的人破解的,总之可以玩了.不过还是有点不习惯,对于兵种和建筑物.
我电脑上唯一的两个游戏就是是星际和侍魂.星际我玩了十年,那么星际二呢?
好游戏就是这样,百玩不厌,其实暴雪的游戏也不是太多,不过款款都是精品,也难怪,都开发了好长时间的,记得08年邹博就和我说过星际二的消息,现在才玩到一个beta版,正式版也还要等几个月,如果出来了,我愿意去买一个正式的账号.也许以后也不会像上大学那样疯狂的游戏了,不过,偶[......]
 三月 3rd, 2010  11阅读
 三月 1st, 2010  10阅读
今天研究了amoeba,以前听说过,今天实验了一下,真的很好用。
并且,开发这个平台的人原来就是我们公司的一个架构师,牛啊。
我vmware虚拟机里面装的是centos 5.4,mysql版本 5.0.77,然后复制vmware文件,做第二台虚拟机,只需要把ip设置修改一下就行了。
在http://amoeba.meidusa.com/wordpress/上下载[......]
 二月 28th, 2010  13阅读
实际上这两天的太阳都不怎么好,但至少没有下雨。
所以昨天下午去又今声图书城买书了,一共买了六本书
<国有病,谁买单:鸦片战争探秘>
<林徽英经典作品选>
<旧闻遗影>
<纳粹德国的兴亡>
<中国电影百年 1977-2005>
<一个特立独行的人 [...]
 二月 24th, 2010  14阅读
什么是分区?为什么要使用分区?简单的回答是:为了改善大型表以及具有各种访问模式的表的可伸缩性和可管理性。通常,创建表是为了存储某种实体(例如客户或销售)的信息,并且每个表只具有描述该实体的属性。一个表对应一个实体是最容易设计和理解的,因此不需要优化这种表的性能、可伸缩性和可管理性,尤其是在表变大的情况下。
大型表是由什么构成的呢?超大型数据库 (VLDB) 的大小以数百 GB 计算,甚至以 TB 计算,但这个术语不一定能够反映数据库中各个表的大小。大型数据库是指无法按照预期方式运行的数据库,或者运行成本或维护成本超出预定维护要求或预算要求的数据库。这些要求也适用于表;如果其他用户的活动或维护操[......]
 二月 23rd, 2010  18阅读
今天晚上开机后特别明显,本来2.9号就出现过,可是都没有这么明显的,半透明,若隐若现,现在结实了,实心的一条蓝线.
赶紧跟淘宝卖家联系,卖家态度还是不错的,要我寄出过处理,可是,一来一回要至少一周时间,还要打包寄出去,麻烦啊.
卖家是广州的,要是上海的就好了,拿过去就行了.
不过,既来之,则安之,这也是预料不到的事情,以前用的T23,也是二手的,可是用了三年,前不久才刚坏了一个按键,如果不是因为速度太慢了,我都不想换…
 二月 22nd, 2010  22阅读
今天领导请客,新年后大家去张江镇上的鱼府吃火锅,也正好认识一下新同事.
感觉:
1, 果然都是搞技术的,大家都不是海聊的样子.我想,如果都是搞销售的,那肯定酒也喝几箱,口水横飞了.
2, 我们这一桌咱战斗力这么强呢,虽然旁边一桌有一位女同事,但也不至于我们吃完了,还总要旁边一桌挪一点给我们.好在千呼万唤后最后鱼头终于上来了……
3, 买车的同事好像都是去年买的,中国车市果然井喷.担心未来上海政府是不是会限制外地牌照,不然路上根本全部是车,几年内,根本动不了了……
4,感觉还是搞技术的简单单纯一些,我想,这样的环境更适合我.
希望我能融入这个团队,[......]
|
|
踩踩