- 博客(353)
- 资源 (11)
- 收藏
- 关注
转载 mysql replication多源服务器下的auto_increment冲突问题
<br /> 在以前的文章中《mysql同步复制M-M(master master)模式》 里,配置了这样一种双向同步机制,两台服务器都可以保持同步并且都可以读写,但是这种配置方案还不完善,生产上实际可能出现很多问题,最突出的一点就是库中某些表有自增长auto_increment字段的时候,容易产生键值冲突错误!<br /><br /> 熟读过mysql的replication的docs,我们发现mysql其实对这个主键冲突已经有相应的解决方案,只是互联网很多配置过程都没有加进去这点,直接拿来
2010-09-08 18:02:00 1532
转载 手把手教您Python多线程应用技巧
<br /><br />在编程语言中,多线程的应用是一个比较重要的应用技术,那么Python中的多线程应用同样也是非常重要的。线程相对进程来说是“轻量级”的,操作系统用较少的资源创建和管理线程。程序中的线程在相同的内存空间中执行,并共享许多相同的资源。<br />51CTO推荐阅读:Python多线程具体运用的方法<br />在Python多线程中如何创建一个线程对象<br />如果你要创建一个线程对象,很简单,只要你的类继承threading.Thread,然后在__init__里首先调用threadin
2010-09-07 17:33:00 1263
转载 python set 的与或非
<br /><br /> def intersect(a, b):<br />""" return the intersection of two lists """<br />return list(set(a) & set(b))<br />def union(a, b):<br />""" return the union of two lists """<br />return list(set(a) | set(b))<br />def difference(a, b):<br />"""
2010-09-03 11:44:00 3292
原创 怎样在 Windows 系统上安装 WordPress 本地测试
<br /><br />我们在测试主题或者插件的时候,如果在服务器上测试的话,速度相对来说很慢,而且也不容易修改代码。这里给大家简单的讲一下如何在 Windows 系统上安装 WordPress 来做本地测试。<br /><br />首先,你必须有一个基于Apache、MySQL、PHP 的编程调试环境。我们推荐使用 XAMPP,你可以从 XAMPP 官方网站:下载 XAMPP。<br />安装好 XAMPP 以后,打开服务器,将 Apache 和 MySQL 两个服务打开。如下图所示:<br /><br
2010-09-01 22:45:00 1253
转载 Mysql数学函数不求人
<br />所有的数学函数在一个出错的情况下返回NULL。 <br /><br />- <br />单目减。改变参数的符号。 <br />mysql> select - 2; <br /><br />注意,如果这个操作符与一个BIGINT使用,返回值是一个BIGINT!这意味着你应该避免在整数上使用-,那可能有值-2^63! <br />ABS(X) <br />返回X的绝对值。 <br />mysql> select ABS(2); <br />-> 2 <br />mysql> sel
2010-08-31 12:13:00 891
转载 Linux下文本文件中^M 符号问题的解决
<br /><br />相关问答:<br />问:我在Windows中通过FTP传一个文本文件到Linux中,但是打开文本文件后每行最后都有^M的标志。由于很长,用编辑器去除太麻烦,有什么解决办法呢?<br />答:为了解决这个问题,Linux下专门有两个工具可以互换Windows格式和Linux格式,它们分别是dos2unix和unix2dos。比如用下面的命令就可以将文件名为“filename”文件从Windows格式转换为Linux文本格式。<br />正文:<br />在linux下,不可避免的会用
2010-08-24 14:38:00 1539
原创 swapoff错误Cannot allocate memory
<br />I found out why swapoff fails; and its because the amount of swap file being used is bigger than what can fit in the my RAM <br /><br />In other words, when we do swapoff; all that is stored in the swap will be moved to the amount of free RAM availab
2010-08-22 23:06:00 5808
转载 Python的函数参数传递:传值?引用?
<br /> <br />作者:winterTTr (转载请注明)<br />原帖地址:http://blog.csdn.net/winterTTr/archive/2008/06/27/2590741.aspx<br />我想,这个标题或许是很多初学者的问题。尤其是像我这样的对C/C++比较熟悉,刚刚进入python殿堂的朋友们<br />。C/C++的函数参数的传递方式根深蒂固的影响这我们的思维--引用?传值?究竟是那种呢。<br />呵呵,语言的特性决定了是使用的方法,那么,现在我们来探究一下pyth
2010-08-22 00:07:00 1164
转载 Python列表妙用,充分体现语法精练
<br />去掉列表中每个元素头尾的空格 <br />>>> freshfruit = [' banana', ' loganberry ', 'passion fruit '] <br />>>> [str.strip() for str in freshfruit] <br />['banana', 'loganberry', 'passion fruit'] <br /><br />把列表中,大于3的元素,乘以2 <br />>>> vec = [2, 4, 6] <br />>>> [2*x
2010-08-21 21:43:00 1328
转载 awk内置字符串函数:实例
<br />awk内置字符串函数<br />gsub(r,s) 在整个$0中用s替代r<br />gsub(r,s,t) 在整个t中用s替代r<br />index(s,t) 返回s中字符串t的第一位置<br />length(s) 返回s长度<br />match(s,r) 测试s是否包含匹配r的字符串<br />split(s,a,fs) 在fs上将s分成序列a<br />sprint(fmt,exp) 返回经fmt格式化后的exp<br />su
2010-08-13 11:40:00 1028
转载 sync、fsync和fdatasync函数
<br /> <br />传统的UNIX实现在内核中设有缓冲区高速缓存或页面高速缓存,大多数磁盘I/O都通过缓冲进行。当将数据写入文件时,内核通常先将该数据复制到其中一个缓冲区中,如果该缓冲区尚未写满,则并不将其排入输出队列,而是等待其写满或者当内核需要重用该缓冲区以便存放其他磁盘块数据时,再将该缓冲排入输出队列,然后待其到达队首时,才进行实际的I/O操作。这种输出方式被称为延迟写(delayed write)(Bach [1986]第3章详细讨论了缓冲区高速缓存)。<br />延迟写减少了磁盘读写次数,但
2010-08-12 15:12:00 1414
转载 Python多线程 简明例子
<br /> 综述 多线程是程序设计中的一个重要方面,尤其是在服务器Deamon程序方面。无论何种系统,线程调度的开销都比传统的进程要快得多。 Python可以方便地支持多线程。可以快速创建线程、互斥锁、信号量等等元素,支持线程读写同步互斥。美中不足的是,Python的运行在Python虚拟机上,创建的多线程可能是虚拟的线程,需要由Python虚拟机来轮询调度,这大大降低了Python多线程的可用性。希望高版本的Python可以解决这个问题,发挥多CPU的最大效率。 网上有些朋友说要获得真正多CPU
2010-08-09 14:07:00 886
转载 mysql执行包括多个表的UPDATE操作
table_references子句列出了在联合中包含的表。该语法在13.2.7.1节,“JOIN语法”中进行了说明。以下是一个例子:UPDATE items,month SET items.price=month.priceWHERE items.id=month.id;
2010-08-05 11:08:00 1407
转载 什么是脏读、不可重复读、幻读
<br /><br />1. 脏读 :脏读就是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据。<br />2. 不可重复读 :是指在一个事务内,多次读同一数据。在这个事务还没有结束时,另外一个事务也访问该同一数据。那么,在第一个事务中的两次读数据之间,由于第二个事务的修改,那么第一个事务两次读到的的数据可能是不一样的。这样就发生了在一个事务内两次读到的数据是不一样的,因此称为是不可重复读。例如,一个编辑人员两次读取同一文档
2010-08-03 14:44:00 938
原创 关于mysql index length
<br />这篇文章是我对explain出来之后index的长度产生的一个疑问,然后刨根问底之后总结下来的。<br />具体可见:http://topic.csdn.net/u/20100727/14/9a63689e-7fdc-4b33-b215-7d08b2aef569.html<br /> <br />总结如下:<br />一、关于utf8<br />UTF-8 is the 8-bit encoding of Unicode. It is a variable
2010-07-29 11:30:00 3209
原创 skip-name-resolve
<br />When a new thread connects to mysqld, mysqld will spawn a new thread to handle the request. This thread will first check if the hostname is in the hostname cache. If not the thread will call gethostbyaddr_r() and gethostbyname_r() to resolve th
2010-07-28 10:55:00 1317
转载 python判断unicode是否是汉字,数字,英文,或者其他字符
<br />下面这个小工具包含了 判断unicode是否是汉字,数字,英文,或者其他字符。 全角符号转半角符号。 unicode字符串归一化等工作。 还有一个能处理多音字的汉字转拼音的程序,还在整理中。<br /> #!/usr/bin/env python<br /># -*- coding:GBK -*- <br /><br />"""汉字处理的工具:<br />判断unicode是否是汉字,数字,英文,或者其他字符。<br />全角符号转半角符号。"""<br /><br />
2010-07-22 14:19:00 2885
原创 在windows cmd下执行mysql显示乱码解决方案
<br />因为很多windows的终端采用的是gbk编码,所以如下的内容,有可能是设置为set character_set_client=gbk,这样才能在终端正常显示中文。<br />character_set_client客户端传输到服务器端命令所使用的编码<br />显示乱码,修改character_set_results=gb2312,这样服务器返回的数据,在返回前会将数据转化成character_set_results指定的编码。
2010-07-21 16:05:00 1410
转载 Python中截取强大的一个东西
str[0:5]str[:]str[4:] #从第四个到最后一位str[:-3] #从最左侧到倒数第三位(不含 第三位)str[2]str[1:9:2]str[-3:] 表示截取后三位 str[::-1] 反转字符串str[-2:]从倒数第二位,到最右侧所有的字符<br />第一种形式其实就是切片的基本形式,截取第一位到第四位的字符。注意:在切片中,不包括后一个数字代表的字符。剩下的都是切片的最种形式,第二种表示“截 取”这个字符串的全部字符,可以这样理解,":"前的“
2010-07-21 10:04:00 9041
转载 Python 不支持杀死子线程
<br />昨天为我的 casnet 程序添加新功能。其中一个功能是断线自动重连,本来是单线程的程序,添加这个功能就需要后台有一个线程定时地查询当前状态,如果掉线就自动重连。因之遇到了一个如何设计这个守护线程的问题。<br />我刚开始的想法是后台线程每次运行查询后 sleep 一段时间,然后再运行查询。但是我马上遇到了一个问题:当主程序退出时,后台线程仍在运行,主窗口无法退出。<br />在使用其它的库时,比如 POSIX 的 pthread,可以使用 ptread_cancel(tid)
2010-07-20 17:33:00 1626
转载 修改linux swap空间的 swappiness,降低对硬盘的缓存
<br /> linux会使用硬盘的一部分做为SWAP分区,用来进行进程调度--进程是正在运行的程序--把当前不用的进程调成‘等待(standby)‘,甚至‘睡眠(sleep)’,一旦要用,再调成‘活动(active)’,睡眠的进程就躺到SWAP分区睡大觉,把内存空出来让给‘活动’的进程。<br /> 如果内存够大,应当告诉 linux 不必太多的使用 SWAP 分区, 可以通过修改 swappiness的数值。swappiness=0的时候表示最大限度使用物理内存,然后才是sw
2010-07-20 10:08:00 1175
转载 处理 Could not parse relay log event entry
[编辑]Slave停止工作<br />[编辑]无法读取master上的log现象1 show slave status显示以下错误信息<br /> Could not parse relay log event entry. The possible reasons are: the master's binary log <br /> is corrupted (you can check this by running 'mysqlbinlog' on the binar
2010-07-19 10:14:00 3270
原创 如何安装MySQLdb
tar xfz MySQL-python-1.2.1.tar.gzcd MySQL-python-1.2.1#解压后直接运行这个脚本就OK了,剩下的下载安装setuptools的工作就让这个脚本自己去完成python ez_setup.py#edit site.cfg if necessarypython setup.py buildpython setup.py install
2010-07-16 15:10:00 832
转载 mysql 一个较特殊的问题:You can't specify target table 'wms_cabinet_form' for update in FROM clause
<br />原文地址:http://www.cnblogs.com/chy1000/archive/2010/03/02/1676282.html<br /> <br />今天在写 mysql 遇到一个比较特殊的问题。<br />mysql 语句如下:<br /><br />update wms_cabinet_form set cabf_enabled=0 <br />where cabf_id in (<br />SELECT wms_cabinet_form.cabf_id FROM wm
2010-07-07 17:33:00 479
原创 关于MySQLdb的一些新发现(使用python连接mysql的库)
<br />MySQLdb的文档时通过python的工具自动将注释生成的,所以文档的可读性不是很强。下面是通过其他的文章发现的两个比较好点的使用方式:<br />一、<br />cursor.execute("select id,ip,port from db limit 5")<br />for (id,ip,port) in cursor.fetchall():<br /> print id<br />这样比row[0][0]...这种方式阅读性要好一点,并且代码比较简洁<br
2010-07-07 11:23:00 756
转载 getopt在Python中的使用
<br />在运行程序时,可能需要根据不同的条件,输入不同的命令行选项来实现不同的功能。目前有短选项和长选项两种格式。短选项格式为"-"加上单个字母选项;长选项为"--"加上一个单词。长格式是在Linux下引入的。许多Linux程序都支持这两种格式。在Python中提供了getopt模块很好的实现了对这两种用法的支持,而且使用简单。<br /><br />取得命令行参数<br /> 在使用之前,首先要取得命令行参数。使用sys模块可以得到命令行参数。<b
2010-07-04 18:26:00 891
原创 crontab中运行python程序出错,提示ImportError: No module named解决全过程
将一个python脚本放入crontab执行时,提示如下错:ImportError: No module named hashlib但是在shell中直接执行时没有任何问题,google之后,得到线索是PYTHONPATH的问题,PYTHONPATH会决定python查找lib的路径。在服务器上面echo $PYTHONPATH的时候没有任何路径继续调查发现最终影响的是sys.path分别输出了两种场景中的sys.pathshell:[root@SJSWT44-121 stat1
2010-07-02 15:00:00 15561
转载 SQL中的join的详细用法!inner join,full outer join,left join,right jion
<br />转自:http://hi.baidu.com/qgbmxxf/blog/item/decd052d2b53573d359bf77c.html<br />作者:Lich King<br /> <br />--查询分析器中执行:<br /> --建表table1,table2:<br /> create table table1(id int,name varchar(10))<br />
2010-06-30 17:34:00 3695
原创 python错误:TypeError: 'str' object is not callable
<br />oh,shit<br />cursor.execute("delete from mysql_status where db_id=%s and variable_id=%s and time<%s"(db_id,variable_id,stale_time))<br />忘记加%了,不过这个错误也提示真是莫名其妙
2010-06-24 16:39:00 4946
转载 MySQL特异功能之:Impossible WHERE noticed after reading const tables
<br />用EXPLAIN看MySQL的执行计划时经常会看到Impossible WHERE noticed after reading const tables这句话,意思是说MySQL通过读取“const tables”,发现这个查询是不可能有结果输出的。比如对下面的表和数据: create table t (a int primary key, b int) engine = innodb;<br /> insert into t values(1, 1); <br /> insert
2010-06-22 11:38:00 5068
转载 开发笔记:Python中的全局变量
<br />原文地址:http://blog.donews.com/maverick/archive/2007/07/02/1181907.aspx<br />全局变量不符合参数传递的精神,所以,平时我很少使用,除非定义常量。今天有同事问一个关于全局变量的问题,才发现其中原来还有门道。<br />程序大致是这样的:<br />CONSTANT = 0<br /><br />def modifyConstant() :<br /> print CONSTANT<br /> CO
2010-06-13 15:55:00 591
转载 Python mysql 中文乱码
<br />当使用MySQLdb.connect连接MySQL数据库的时候,出现乱码而在mysql内部select时没有乱码,请检查MySQLdb.connetc是否指定了charset,默认的charset应该是ASCII。<br /> <br /> <br />详细的请看http://hi.baidu.com/litertiger/blog/item/506cb5debaa3d55bccbf1aed.html<br />import MySQLdb<br />db_user = "tiger"<br
2010-06-13 11:12:00 953
转载 大量AUTO-INC LOCK 导致的DeadLOCK
原文链接:http://steven1981.itpub.net/post/7967/494087官方文档关于AUTO_INC锁说明今天发现数据库报检查到死锁,而且有大量的回滚。 当时状态见:这个库压力比较大,但从STATUS看,都是 lock mode AUTO-INC waiting.而且从应用开发了解到,都是简单的INSERT和select。 没有交叉更新的事务。 如果是等待AUTO-INC锁,也不应该会产生死锁。因为AUTO-INC锁在某一时刻只会被一个事务/INSERT操作
2010-06-12 16:53:00 3432 1
原创 使用python smtp发邮件代码
<br />#!/usr/bin/env python# -*- coding: gbk -*-#导入smtplib和MIMETextimport smtplibfrom email.mime.text import MIMEText############## 要发给谁,这里发给2个人mailto_list=["aaa@juyimeng.com","bbb@juyimeng.com"]###################### 设置服务器,用户名、口令以及邮箱的后缀
2010-06-11 16:41:00 5646 1
转载 Linux的watch命令 -- 实时监测命令的运行结果
<br />watch 是一个非常实用的命令,基本所有的 Linux 发行版都带有这个小工具,如同名字一样,watch 可以帮你监测一个命令的运行结果,省得你一遍遍的手动运行。<br />直接在 watch 后面接你想运行的命令,watch 就会帮你重复运行,并把每次的结果都更新在屏幕上。<br />默认 watch 会以 2s 的间隔重复运行命令,你也可以用 -n 参数指定时间间隔~<br />还有一个实用的参数是 -d,这样 watch 会帮你高亮显示变化的区域,这样更加一目了然了~<br />
2010-06-09 22:21:00 821
转载 Memcache是什么
<br />Memcache是什么<br />Memcache是danga.com的一个项目,最早是为 LiveJournal 服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力。<br />它可以应对任意多个连接,使用非阻塞的网络IO。由于它的工作机制是在内存中开辟一块空间,然后建立一个HashTable,Memcached自管理这些HashTable。<br />Memcache官方网站:http://www.danga.com/memcached
2010-06-09 00:20:00 480
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人