03月 10th, 2010
Xtrabackup 是 percona公司(mysqlperformanceblog)的开源项目,目的是实现类似 innodb 官方的热备份工具 InnoDB Hot Backup 的功能,可以帮助我们对 MySQL InnoDB 类型的数据库表进行在线热备份。
Xtrabackup中包含两个工具:
* xtrabackup - 用于热备份innodb、xtradb表的工具,不能备份其他表。
* innobackupex - 对 xtrabackup 封装的 perl 脚本,提供了 myisam 表备份的能力。
Xtrabackup可以做什么:
* 在线(热)备份整个库的InnoDB, XtraDB表
* 在xtrabackup的上一次整库备份基础上做增量备份(innodb only)
* 以流的形式产生备份,可以直接保存到远程机器上(本机硬盘空间不足时很有用)
Xtrabackup 最新的版本是 1.0正式版本,不仅仅包括了Linux平台的二进制版本和源代码版本,还提供Windows平台的安装版本,当前仅仅支持32bit的Windows操作系统。
使用Xtrabackup对MySQL进行热备份是非常简单的,例如我们使用Xtrabackup自带的innobackupex脚本对整个数据库进行热备份,将数据库拷贝到本地的/db_backup目录:
innobackupex –user=root –password=password –defaults-file=/etc/my.cnf /db_backup
在备份的同时,将备份文件打包:
innobackupex –user=root –password=password –defaults-file=/etc/my.cnf –stream=tar /db_backup | gzip > /db_backup/db.tar.gz
将备份文件直接通过网络备份到一台远程服务器:
innobackupex –user=root –password=password –defaults-file=/etc/my.cnf –stream=tar /db_backup | ssh dbbackup@remote_host cat > backup.tar
直接通过ssh端口,将数据库热备份到一台远程的服务器上面去。
总之 Xtrabackup 为 MySQL 带来了企业级的数据备份机制,让 MySQL 在大容量存储方面扫除了后顾之忧。
Email This Post
标签: mySQL, Windows, Xtrabackup, 工具, 开源, 热备份
分类:数据库管理和编程 | 无评论 »
03月 9th, 2010
3月7日报道:在凤凰网的两会报道专题中,凤凰卫视主持人吴小莉邀请了工信部部长李毅中参与网友问答,针对是否全面封杀个人网站一问,李毅中说:整顿矫枉过正并非封杀个人网站。李毅中表示,在整治过程中,确实存在着矫枉过正的办法,但并非全面封杀个人网站,并且这一整治还将持续下去。
在视频中,凤凰卫视主持人吴小莉邀请了工信部部长李毅中回答网友提问,有网友问到,目前中国互联网是否在全面封杀个人网站,请问李毅中部长如何看待这个问题,李毅中表示,这个问题存在误解,最近网上较为敏感的问题就是反映互联网与手机Wap网站存在不少黄色淫秽信息,工信部针对这个问题采取了相应的措施,及时地发现、排除、删堵,在这几条措施里,牵扯了针对个人网站采取了矫枉过正的办法,就是先将网站全部先停掉,停掉以后,先进行清理,再一个一个的恢复,可能就会出现这样的情况,这个网民原来上的这个网站现在无法访问了,因此产生了相应的意见,李毅中表示,这确实是整顿中可能出现的一些问题,希望广大网民理解,李毅中说,其实工信部并不是针对个人网站进行全面封杀。
在对话中,吴小莉问到,在发现一个网站有问题的时候,先停掉它的访问,没有问题然后慢慢的再恢复,这个过程要持续多久?
李毅中表示,在今年第一季度里,还是要加大工作力度,这样才能够在专项整治上,能够起到一定的效果,因此整治还将持续一段时间。

工信部部长李毅中表示并不存在全面封杀个人网站的行为。李毅中表示,在整治过程确实有一些矫枉过正的办法。
来自:2010-03-09 站长之家
Email This Post
标签: 个人网站, 工信部, 整顿
分类:杂七杂八 | 无评论 »
03月 9th, 2010
网络上流传了很多关于敏捷开发的具体建议,加起来可能超过上百条,有些内容很精彩,而有些说法比较片面,值得商榷。收集和整理这些至理名言是我的一项工作。
下面是我作为一名具有近 20 年编程经验的“编程达人”对这些建议的分析和评论,供大家参考、拍砖。
* 完整地做完第一件事后再开始第二件。软件开发的一个大问题就是同时做几件事情,这将不可避免地使得某些工作被废弃从而造成浪费。用厨房来比喻就是:“先上这道菜,再开始烧下一个。”
不一定。并行工作还是必要的,但是要有限度。
* 不要害怕做决定;不要害怕改变先前的决定。最大可能地延迟决策,直到必须做决定的时候。一旦有新的信息了,不要害怕改变先前的决定。
不错,这是敏捷精神所在。
* 度量、度量、度量。敏捷开发帮助处理了未来不确定性的问题。但是对于过去,应该没有不确定的事。
说得非常好!
想一想 NBA 梦之队的实时技术统计,就可以知道度量的最高境界了。
* 设计是为了人,而不是系统。太多的程序员偏离了设计的目的,而更关注技术本身。软件最终的成功取决于让人们有效合作并增加商业价值。
说得太好了!
提供业务价值的业务建模绝对重要。
* 过早地进行优化是万恶之源。仅仅基于对代码的静态理解就直觉地判断什么对整体性能最为重要,结论几乎总是错误的。相反,应该衡量整个系统的行为,随后来识别性能问题。
很好的建议!
* 决不过度强调功能的通用性。这也就是著名的“YAGNI——你不会需要它的(You Aren’t Going to Need It)。”
对!
* 不要用代码行数来度量代码。完成特定任务所需的代码行数,不同的程序员之间和编码风格之间差异很大。应该去统计功能用例的数目。
绝对正确!
* 软件是可塑的。不像实体制造业,软件可以很容易地获得显著改变。
不全对,虽然是很容易,但可能也是高成本的。
* 不要去发明新的语言。XML的出现引领了无休止的专门订制“脚本语言”的潮流,想来应该会让软件开发更加趋同。这种推理的缺陷在于,离开某个特定实施的环境,几乎从来都没能很好地精确定义操作行为。
片面。可以去发明新的语言,比如 DSL。
Email This Post
标签: 建议, 敏捷开发
分类:软件工程和项目管理 | 无评论 »
03月 9th, 2010
一、utf-8 转换为 gb2312
<?php
//header(”Content-Type:text/html; charset=utf-8″);
?>
<html xmlns=”http://www.w3.org/1999/xhtml“>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″>
</head>
<body>
本页面编码是:utf-8 BOM<br>
<?php
$str = ‘陶喆’;
echo ‘utf-8:’. $str;
echo ‘<br>’;
$str = iconv(’utf-8′, ‘gb2312//IGNORE’, $str); //convert to gb2312
//这是iconv函数的一个bug。iconv在转换字符到gb2312时会出错。
//解决方法很简单,就是在需要转成的编码后加 “//IGNORE”。
echo ‘gb2312:’. $str;
echo ‘<br>’;
$str = iconv(’gb2312′, ‘utf-8′, $str); //再还原回来
//”喆”字没有了,是因为gb2312编码里没有这个字
//本身语法是正确的。变成 gbk 编码就可以了
echo ‘utf-8:’. $str;
?>
二、utf-8 转换为 gbk
<?php
//header(”Content-Type:text/html; charset=utf-8″);
?>
<html xmlns=”http://www.w3.org/1999/xhtml“>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″>
</head>
<body>
本页面编码是:utf-8 BOM<br>
<?php
$str = ‘陶喆’;
echo ‘utf-8:’. $str;
echo ‘<br>’;
$str = iconv(’utf-8′, ‘gbk’, $str); //convert to gbk
echo ‘gb2312:’. $str;
echo ‘<br>’;
$str = iconv(’gbk’, ‘utf-8′, $str); //再还原回来
echo ‘utf-8:’. $str;
?>
</body>
Email This Post
标签: iconv, PHP, 编码, 转换
分类:Web编程-PHP | 无评论 »
03月 9th, 2010
问题描述:
我打开httpd.conf,将网站根目录设置为一个带中文的路径。设置完成以后保存配置文件,重启Apache服务,出现错误提示。
打开logs/error.log 查看,找到错误原因是:要求文档根目录必需是一个目录。
也就是不认识这个中文命名的文件夹。Apache 默认不支持中文目录。
要让 Apache 支持中文目录名,最简的解决方法:将配置文件的字符编码转换成UTF-8即可。
转换方法也很简单,在记事本中打开httpd.conf,选择“文件”->“另存为…”,弹出的窗口中选择编码为UTF-8即可。
重新启动 Apache 服务,应该可以了。
但还是不建议使用中文目录名,以免出现其它不可预知的兼容性问题。
作者:张庆(网眼) 2009-3-9
来自“网眼视界”:http://blog.why100000.com
“十万个为什么”电脑学习网:http://www.why100000.com
Email This Post
标签: Apache, 中文, 目录名
分类:Windows 系统管理及应用 | 无评论 »
03月 8th, 2010
沿着校园熟悉的小路
清晨来到树下读书
初升的太阳照在脸上
也照着身旁这棵小树
亲爱的伙伴 亲爱的小树
和我共享阳光雨露
让我们记住这美好时光
直到长成参天大树
让我们记住这美好时光
直到长成参天大树 |
城里的月光
每颗心上某一个地方 总有个记忆挥不散
每个深夜某一个地方 总有个最深的思量
世间万千的变幻 爱把有情的人分两端
心若知道灵犀的方向 哪怕不能夠朝夕相伴
城里的月光把梦照亮 请温暖他心房
看透了人间聚散 能不能多点快乐片段
城里的月光把梦照亮 请守候他身旁
若有一天能重逢 让幸福撒满整个夜晚
|
Email This Post
标签: 早晨, 校园, 校园歌曲, 歌词
分类:网络文摘 | 无评论 »
03月 8th, 2010
MySQL的SQL 语句:根据从表记录个数对主表排序
一个主表 news,有字段 nId(自动增长),sName。
记录:
10 name10
13 name13
20 name20
21 name20
21 name20
30 name20
从表 reply,字段 nId(自动增长),pId,sReply。
记录:
20 aaaaa
13 bbbbb
10 ccccccc
20 vvvvvv
20 hhhhhh
10 sssss
从表以字段 pId 与主表字段 nId 关联。
目的:由主表取若干记录,排序依据:根据从表中与主表关联的记录的个数来排序。
以上述的记录为例,主表的记录顺序应该为:
20 name20
10 name10
13 name13
答案1:
select *, count(*) as iReply from
(SELECT a.nId, a.sName, b.sReply FROM news a, reply b WHERE a.nId=b.pId) as T
group by nId order by iReply limit 0,3
答案2:
SELECT a.nId, a.sName, count(b.sReply) as iReply from FROM news a, reply b WHERE a.nId=b.pId
group by a.nId order by iReply limit 0,3
注:
1,以上两例中形如 group by a.nId 的字段 nId 的值应该保持唯一性,最好是建有唯一性索引。
2,第一例似乎比较容易理解,即从联合查表的结果中再次查表。联合查表的结果作为一个“表”,再操作它 - 注意这里的 SQL 语句的语法值得借鉴。
3,好的解决方法应该是第二例。
4,但以上两例的做法的最大缺点是,效率太低!联合查表是最表的笛卡尔乘积,查询数量是两个表记录数的乘积。这对于大表查询将是致命的。
好的做法是,在主表中建一个字段表示从表的记录个数,每次向从表插入记录和删除记录时都同时修改该字段的值。则达到题目的目的,只要查主表、排序就可以了。
作者:张庆(网眼) 2009-3-8
来自“网眼视界”:http://blog.why100000.com
“十万个为什么”电脑学习网:http://www.why100000.com
Email This Post
标签: mySQL, SQL, 主表, 从表, 排序, 记录, 语句
分类:数据库管理和编程 | 无评论 »
03月 7th, 2010
本实验完成如下结果:
0. test数据库,userinfo 用户信息表 和 userinfolog 用户信息日志表
1. 建立一个userinfo表新增记录时的触发器,将新增日志加入到userinfolog
2. 建立一个向userinfo表新增记录的存储过程
3. 根据userinfo表的出生日期字段,我们将建立一个简单算得年龄的自定义函数
4. 创建一个userinfo的视图,调用年龄函数
阅读其余内容 »
Email This Post
标签: mySQL, 函数, 存储过程, 视图, 触发器
分类:数据库管理和编程 | 无评论 »
03月 6th, 2010
我们陕西人是没啥文化,也就出几个白居易、王昌龄、杜牧、杜甫、司马迁、玄奘、陈忠实、贾平凹、路遥、张艺谋、孙思邈,特别是那个姓张的更没文化,2008年北京奥运会的总导演而已……
我们陕西是没啥美女,也就出几个褒姒(只过是历史上第一个美女嘛,也没什么)、貂蝉,西施,王昭君和杨贵妃 中国古代四大美女 ,也只占了四个……
我们陕西是没啥军事人才,也就出几个张骞、吕布、李靖、郭子仪、卫青、霍去病、蒙恬、杨虎城、……
我们陕西人是没啥政治人才,也就出了几个黄帝、炎帝、李世民、魏征、李治、于佑任、习仲勋……
阅读其余内容 »
Email This Post
标签: 陕西
分类:古城西安:一座城市和其他 | 无评论 »
03月 6th, 2010
做项目时由于业务逻辑的需要,必须对数据表的一行或多行加入行锁,举个最简单的例子,图书借阅系统。假设 id=1 的这本书库存为 1 ,但是有 2 个人同时来借这本书,此处的逻辑为
Select restnum from book where id =1 ;
— 如果 restnum 大于 0 ,执行 update
Update book set restnum=restnum-1 where id=1 ;
Select restnum from book where id =1 ;
— 如果 restnum 大于 0 ,执行 update
Update book set restnum=restnum-1 where id=1 ;
阅读其余内容 »
Email This Post
标签: mySQL, 研究, 行锁
分类:数据库管理和编程 | 无评论 »