November 5, 2009
MySQL 同步常见问题
"6 MySQL 同步 同步功能在MySQL 3.23.15就开始引进了,它可以把一个MySQL服务器上的数据复制到另一个服务器上去。本章描述了MySQL的各种复制特性。介绍了同步的概念,如何设置同步服务器,以及可用服务器的参照。还提供了一系列的常见问题及其答案,疑难解答。\n“14.6 Replication Statements“中介绍了同步相关的SQL语句语法。\n我们建议经常访问”http://www.mysql.com“经常阅读本章的最新内容。同步功能一直在改进,我们经常把这部分的手册更新到当前的最新内容。\n6.1 同步介绍 MySQL 3.23.15及更高的版本支持单向同步。一个服务器作为master(主服务器),一个或者多个服务器作为slave(从服务器)。master服务器 把更新的内容写到二进制日志(binary log或binlog)中,并且维护了一个索引文件来记录日志循环的情况。这些日志中的更新部分会被发送到slave服务器。一个slave连接到 master之后,它通知master最后一次成功增量更新的日志位置。slave会找出所有从那个时刻开始的更新操作,然后阻塞并 …"
November 5, 2009
硬盘分区变为RAW文件系统后的解决办法
"RAW意思为R and W,原因是因为所在分区权限里,所有者缺失,所以任何帐户均不能访问。 产生RAW文件系统的原因可能是C盘原先为FAT32,后重装XP系统时被改为NTFS,结果原先是NTFS的F盘成为RAW,无法识别,而原本是FAT32的D、E盘正常。\n例子一,二,三中的办法非常简单,安全,例子四中操作相对繁琐。\n例子一:\n一块移动硬盘,文件系统显示为RAW文件系统,总共字节为0,可用字节为0。\n假设移动硬盘接入系统时为F盘,那么进入CMD命令提示符,执行CHKDSK F: /F即可。\n(有关CHKDSK的描述,可在CMD命令提示符下,执行help CHKDSK)\n唯一的问题就是修复的时间取决于这块硬盘的大小,80GB的话,5分钟左右。\n例子二:\n今天重装系统之后我的F:盘突然变成了RAW模式,双击不能打开,提示错误。里面的全是些重要的资料,决不能格式化。。。\n第一步:首先进入“控制面板”并切换到经典视图,找到“管理工具”,双击打开,再双击打开“本地安全策略”,单击“本地策略”前面的加号,再单击“安全选项”,在右面窗口中找到“网络访问:本地帐户的共享和安全模式”项,然后将其后面的安 …"
November 2, 2009
(精典教程)在MySql上实现Replication(Master 与 Slave 数据同步)
"Master: 192.168.1.200 slave: 192.168.1.201\n1: 首先确定Master和Slave的数据库版本,Master数据库的版本不能高于Slave数据的版本。\n这里我是使用MySql 5.0.27 作为Master数据库,MySql 6.0.3(alpha)作为Slave进行测试。\n2:首先在Master数据库的配置文件my.ini (windows)里添加log-bin 和 server-id 两项\neg: [mysqld]\nserver-id = 1 //服务器编号\nlog-bin = mysql-bin //使用的二进制日志文件名 binlog-do-db=test = maindb //同步的数据库(不记录二进制日志) binlog-ignore-db=bbs //不允许同步的数据库(不记录二进制日志) binlog-ignore-db=ceshi //不允许同步的数据库库(不记录二进制日志)\n在Slave数据库的配置文件my.ini里添加server-id 项\neg:[mysqld]\nserver-id = 2 ** …"
November 2, 2009
12款Javascript表格控件(DataGrid)
"12款 JavaScript 表格控件。 表格控件(DataGrid )允许最终用户阅读和写入到绝大多数数据库的应用程序。DataGrid 控件可以在设计时快速进行配置,只需少量代码或无需代码。当在设计时设置了DataGrid 控件的 DataSource 属性后,就会用数据源的记录集来自动填充该控件,以及自动设置该控件的列标头。然后您就可以编辑该网格的列;删除、重新安排、添加列标头、或者调整任意一 列的宽度。\n1. Flexigrid Flexigrid是一个类似于Ext Gird,但基于jQuery开发的Grid。它具有的功能包括:可以调整列宽,合并列标题,分页,排序,显示/隐藏表格等。Flexigrid显示的数据能够通过Ajax获取或者从一个普通的表格转换。\n2. Yahoo! UI Library: DataTable ( 演示地址) 该DataTable控件提供的功能有:排序、列宽调整、分页、inline editing、row selection等。\n3. jqGrid jqGrid是一个Ajaxed jQuery Grid插件。提供分页功能,添加、编辑、删除和搜索表中记 …"
October 22, 2009
[教程]coreseek sphinx在FreeBSD 7.0安装教程
"感谢为中文全文检索做出贡献的所有同学。\n1、源码安装LibMMSeg 。 先在这里下载压缩包 # fetch http://www.coreseek.com/opensource/mmseg/ # tar zxvf mmseg-0.7.3.tar.gz # cd mmseg-0.7.3 # vim src/css/SegmentPkg.cpp 修改第27行, 将 #include 改为 #include # ./configure \u0026amp;\u0026amp; make \u0026amp;\u0026amp; make install\n2、测试 mmseg # cd mmseg-0.7.3/data 你会看到一个准备好的UTF-8编码的字典文件 unigram.txt # mmseg -u unigram.txt 该命令执行后,将会产生一个名为unigram.txt.uni的文件,将该文件改名为uni.lib,完成词典的构造。 你也可以进行分词测试。详见 http://www.coreseek.com/opensource/mmseg/\n3、ports安装 gawk # cd …"
October 16, 2009
一台电脑登录多个msn账号的解决办法
"msn默认情况下,一台电脑只允许登录一个msn账号,这对于许多用户都不是太习惯,毕竟现在流行的qq软件可以实现这个功能的,这时您只需要下载一个插件即可,那就是msnshell这个软件,msnshell简介如下:\nMSNShell 是一个为了支持 MSN Messenger 的发展,提供多种扩展服务及功能的免费增强包。MSNShell 为 MSN Messenger 量身定制了多种个性化功能。MSNShell 不但具有客户端定制功能,更扩展了多种附加服务,使用 MSN Messenger 将变得更加有趣。 MSNShell拥有超过数以千万的使用者,赶快融入到 MSNShell 的大家庭中来吧。 软件下载地址: http://www.msnshell.net/download.html\n安装完这个软件再次登录msn软件即可。"
October 15, 2009
在windows生产环境搭建sphinx的注意事项
"1、以服务的方式运行sphinx\n在开发环境中,只要执行”rake ultrasphinx:daemon:start“,就可以启动一台sphinx服务器。但如果在生产环境还能这么做么?把sphinx安装为服务无疑是个靠谱的办法,这样它可以像mongrel、apache一样随系统启动。sphinx自带了安装为windows服务的命令:\nsearchd –-install -–config xxxx.conf\n相应的删除服务命令为:\nsearchd –delete\n不妨把这个加入到rake命令中,于是我hack了一下ultrasphinx插件的任务列表,加入了一个”rake ultrasphinx:daemon:install“命令。名为ultrasphinx.rake的文件我将稍后提供。 如果在启用服务的时候提示”发生系统错误1067″的话,则需要在安装服务的时候指定配置文件的路径,参考:sphinx在windows下无法启动的解决办法 如: d:\\csft3.1\\bin\u0026gt;searchd –install –config d:\\csft3.1\\bin\\www.conf\n既然 …"
October 15, 2009
Sphinx增量索引实例
"在实际应用中往往有这么一种情况,数据库数据很大,比如我们的歌曲表,如果我们每次都去更新整个表的索引,对系统得开销将非常大,显然这是不合适,这时我 们会发现,每天我们需要更新的数据相比较而言较少,在这种情况下我们就需要使用“主索引+增量索引”的模式来实现实时更新的功能。\n这个模式实现的基本原理是设置两个数据源和两个索引,为那些基本不更新的数据建立主索引,而对于那些新增的数据建立增量索引。主索引的更新频率我们 可以设置的长一些(可以设置在每天的午夜进行更新),而增量索引的更新频率,我们可以将时间设置的很短(几分钟左右),这样在用户搜索的时候,我们可以同 时查询这两个索引的数据。\n下面,我们通过一个简单的例子来描述一下怎样实现这种模式\n以sphinx.conf中默认的数据为例:\n1.先在mysql中插入一个计数表和两个索引表\nCREATETABLEsph_counter( counter_idINTEGERPRIMARYKEYNOTNULL, max_doc_idINTEGERNOTNULL ); //主索引使用(确认之前是否已经建立过该表,如果已经建立,这里就不需要重新建了) …"
October 15, 2009
sphinx实现主索引+增量索引
"装了几次没把sphinx集成到mysql中去(SphinxSE),只好放弃,使用其自带的api(sphinx.php)来试试。 官方的sphinx0.98不支持索引GBK的数据,后装了Coreseek提供的版本,几经测试后,终于搞定GBK的数据索引。 然后调用sphinx.php写了个搜索测试程序,终于试出来,也蛮好用的。\n主要按照Coreseek整理的 Sphinx0.98中文参考手册 中的内容,这里记录一下。\n创建主索引:\nbin/indexer –config etc/sphinx.conf hx_9enjoy –rotate\n创建增量索引:\nbin/indexer –config etc/sphinx.conf delta –rotate\n合并主索引和增量索引:\nbin/indexer –config etc/sphinx.conf –merge hx_9enjoy delta –merge-dst-range deleted 0 0 –rotate\n–rotate参数可以在不停searchd的情况下索引,不然的话会有类似如下的提示: FATAL: failed to lock …"
October 15, 2009
FreeBSD中portsnap与csup,cvsup方法更新ports的不同
"从6.0开始,freebsd升级ports就不再需要cvsup了,而是用portsnap,\n一、portsnap与cvsup的区别在于\n:\n1、portsnap有数字签名,较安全,cvsup没有。\n2、portsnap是打包压缩下载,所以会比cvsup快一些,当然除了第一次使用。\n二、使用方法是:\n第一次使用:portsnap fetch extract\n以后再用:portsnap fetch update\n还可以放在cron里定时升级:portsnap cron update\n需要注意的是不要portsnap和cvsup混合使用。\n第一次使用输入portsnap fetch extract回车即可,因为有几十兆的文件需要下载,需要等待一段时间。\n如果用户没有安装ports,这个命令是无效的,需要通过sysinstall来安装ports\n修改更新服务器地址的方法:\n/etc/portsnap.conf 里面更改\nSERVERNAME=portsnap.hshh.org\n提供几个postsnap更新的服务器地址\nportsnap.hshh.org\nportsnap2.hshh.org …"