以前写过一篇关于MySQL升级到4.1出现乱码如何解决的帖子,他只是讲述了当你导入的数据都正常了,该怎么使用到MySQL4.1以后版本的多语言特征。但是如果在导入的过程中就遇到了字符集的问题,该怎么办呢?就是无论你怎么导入,怎么折腾字符集,都是乱码,但是你新插入的任何一条数据都没有问题,这就不是升级后调整字符集的问题了,而是在导出导入的工程中就需要考虑。

Continue reading "再谈MySQL升级出现乱码问题的解决"
Tags:
Posted on May 9, 2007 9:23 AM | | Comments (3) | TrackBacks (0)

A regular expression (regex) is a powerful way of specifying a complex search.

MySQL uses regular Henry Spencer's inplementation of regular expressions. And that is aimed to conform to POSIX 1003.2. MySQL uses the extended version.

This is a simplistic reference that skips the details. To get more exact information, see Henry Spencer's regex(7) manual page that is included in the source distribution. See section C Contributors to MySQL.

A regular expression describes a set of strings. The simplest regexp is one that has no special characters in it. For example, the regexp hello matches hello and nothing else.

Continue reading "Description of MySQL regular expression syntax"
Posted on April 13, 2007 6:04 PM | | Comments (0) | TrackBacks (0)

1 设置phpMyAdmin

Language:Chinese simplified (zh-utf-8)
MySQL 字符集:UTF-8 Unicode (utf8)
MySQL 连接校对 gbk_chinese_ci


2 创建数据库时


整理设置成 gbk_chinese_ci


3 用SQL建立表中


ENGINE=MyISAM DEFAULT CHARSET=gbk;
ENGINE=InnoDB DEFAULT CHARSET=gbk AUTO_INCREMENT=40 ;


4 检查表结构中


varchar(100) 的整理属性为gbk_chinese_ci
其它类型的整理属性为空


5 代码中加上


$db->query("SET CHARACTER SET GBK"); Linux下需要,Windows下不需要
这个相当于Connection Character Sets and Collations

Posted on April 11, 2007 11:08 PM | | Comments (0) | TrackBacks (0)
http://dev.mysql.com/doc/refman/5.1/zh/index.html
Continue reading "MySQL 5.1中文参考手册"
Posted on April 11, 2007 10:53 PM | | Comments (0) | TrackBacks (0)

比如你要将 表 tb1里面的 f1字段的abc替换为def

UPDATE tb1 SET f1=REPLACE(f1, 'abc', 'def');

REPLACE(str,from_str,to_str)   
在字符串   str   中所有出现的字符串   from_str   均被   to_str替换,然后返回这个字符串:   
mysql>   SELECT   REPLACE('www.mysql.com',   'w',   'Ww'); 
                  ->   'WwWwWw.mysql.com' 
这个函数是多字节安全的。

示例:
UPDATE  `dede_addonarticle`  SET body =  REPLACE ( body,
 '</td>',
 '' );
UPDATE  `dede_addonarticle`  SET body =  REPLACE ( body,
 '</tr>',
 '' );
UPDATE  `dede_addonarticle`  SET body =  REPLACE ( body,
 '<tr>',
 '' );      
UPDATE  `dede_archives`  SET title=  REPLACE ( title,
 '大洋新闻 - ',
 '' ); 
UPDATE  `dede_addonarticle`  SET body =  REPLACE ( body,
 '../../../../../../',
 'http://special.dayoo.com/meal/' );

mysql replace

用法1.replace intoreplace into table (id,name) values(‘1‘,‘aa‘),(‘2‘,‘bb‘)
此语句的作用是向表table中插入两条记录。
2.replace(object, search,replace)
把object中出现search的全部替换为replaceselect replace(‘www.163.com‘,‘w‘,‘Ww‘)--->WwW wWw.163.com

例:把表table中的name字段中的 aa替换为bbupdate table set name=replace(name,‘aa‘,‘bb‘)    

Posted on April 11, 2007 1:51 PM | | Comments (0) | TrackBacks (0)

近日,国际著名开源数据库厂商MySQL的中国研究中心与天津海量信息技术有限公司签署了战略协议,海量科技将为MySQL最大程度在中国实现本地化,抢占中国开源数据库市场提供强有力的帮助。

MySQL是一款非常实用的开源数据库软件,其本身优越的速度、可扩展性和可靠性让它成为企业不可获缺的数 据库产品。而Oracle、IBM、Sybase和微软的商业数据库软件由于源码保密的原因,不可能让使用该产品的企业任意察看、修改并重新分发,对企业 的实际应用非常不利。据Gartner的一项调查显示,有66%的企业用户正在使用或者计划采用MySQL。

Continue reading "海量助力MySQL本地化 加速中国开源数据库应用"
Posted on April 9, 2007 6:18 PM | | Comments (0) | TrackBacks (0)

第三方市场调查机构Evans数据公司最近公布的一系列客户调查数据显示,在过去两年里,MySQL在所有开发者使用的数据库中获得了25%的市场份额。

Evans数据公司是专业的软件市 场调查机构,它定期提供最新的面向全球开发者的深度调查和IT产业市场情报。Evans公司的本次调查显示,数据库的使用者中有40%是开发人员,而两年 前这一数据是32%。Evans数据公司指出,随着越来越多的开发者使用开源软件(2006年秋在北美的比率是65%),MySQL的使用在未来会持续增 长。

“我们一直看到开源数据库的不断成长,因为采用开源数据库的用户在持续攀升。”Evans数据公司的总裁John Andrews说。“从我们的排名分类中上升的名次来看,我们看到开源数据库已经赶上或者超过专有数据库。”

Evans数据公司的其他发现还有:
MySQL的广泛使用归功于采纳整个LAMP架构的用户增长。
四成企业级开发者表示他们在操作中使用了一种开源数据库。
超过2/3的开源开发者(69%)对目前市场上的开源数据库常满意。

Posted on March 30, 2007 12:35 PM | | Comments (0) | TrackBacks (0)

将comment表中的author_url包含www.sohu.com的记录,其中的sohu替换为sina,一个语句搞定~

update comment set author_url=REPLACE(author_url, 'sohu', 'sina') where author_url REGEXP "www.sohu.com";

带IF判断的复杂替换

update comment set url=IF(url REGEXP "test.yahoo.com.cn",REPLACE(url, 'www1.sohu.com', 'www.sina.com'),REPLACE(url, 'www2.yahoo.com', 'www.sina.com')) where 1=1;

Posted on January 25, 2007 11:46 AM | | Comments (1) | TrackBacks (0)

我的测试环境.基本上数据是瞬间同步,希望对大家有帮助

redhat 9.0
mysql3.23.57


mysql数据同步备份

A服务器: 192.168.1.2 主服务器master
B服务器: 192.168.1.3 副服务器slave


A服务器设置

#mysql –u root –p
mysql>GRANT FILE ON *.* TO backup@192.168.1.3 IDENTIFIED BY ‘1234’;
mysql>\exit

上面是Master开放一个账号backup密码1234给IP:192.168.1.3有档案处理的权限


mysqladmin –u root –p shutdown

备份Master所有数据库..通常都用tar指令.
#tar –cvf /tmp/mysql.tar /var/lib/mysql
注意:tar的时候,MySQL是要在stop情况下

在A机器上修改/etc/my.cnf
在[mysqld]区段内加入参数
log-bin
server-id=1
sql-bin-update-same
binlog-do-db=vbb

重启A服务器mysql

此时因为有加入log-bin参数,因此开始有index产生了,在/var/lib/mysql目录下有.index档案纪录数据库的异动log.


B服务器设置

设定/etc/my.cnf
在[mysqld]区段加入

master-host=192.168.1.2
master-user=backup
master-password=1234
master-port=3306
server-id=2
master-connect-retry=60 预设重试间隔60秒
replicate-do-db=vbb 告诉slave只做vbb数据库的更新
log-slave-updates


将A上的mysql.tar copy到B上
用ftp传B的/tmp
9.解压缩
#cd /var/lib/


状况测试
1.A跟B网络及服务都正常情况下,由A端变化数据后,到B端浏览数据,检视是否有进行replication?!
2.模拟B当机,或是B不一定需要一直跟A有连接.
将由A端变化数据后,到B端浏览数据,B点应该是没有数据变化的


#tar xvf /tmp/mysql-snapshot.tar
#chown –R mysql:mysql mysql

1重启B服务器的mysql

这时在/var/lib/mysql目录会出现master.info,此档案纪录了Master MySQL server的信息.

 

状况测试
1.A跟B网络及服务都正常情况下,由A端变化数据后,到B端浏览数据,检视是否有进行replication?!
2.模拟B当机,或是B不一定需要一直跟A有连接.
将由A端变化数据后,到B端浏览数据,B点应该是没有数据变化的

Posted on January 25, 2007 11:45 AM | | Comments (0) | TrackBacks (0)
id ColA ColB
1 12345 ABCD
2

12345

ABCD
当出现这种数据的时候,想要删除某条数据,怎么操作呢?
关键是找出重复的其中的一条,
如下:

SELECT max(id) as id, a.cola,a.colB
FROM a join 
(
SELECT cola,colb   FROM a  GROUP BY cola, colb
HAVING COUNT(*> 1)  b
on a.filecode = b.filecode and a.colb=b.colb
group by a.col1,a.colB


然后删除即可.
Posted on November 15, 2006 12:44 AM | | Comments (0) | TrackBacks (0)
上一页 1 2 3 4 下一页
相关内容
广告计划
最新评论
[评论] 鸿雁 : 默默地为他们祈祷吧
[评论] lym328 : 客源CRM非常不错-----如有需要可以了解
[评论] kevinwu : 作用肯定是有的,Google会首先搜索站
[评论] ss : 其实还真的感觉不到sitemap的作用~
[评论] kevinwu : 谢谢你的关注 :-)
[评论] h51h : 贵博客写得非常的好,界面简洁但内
[评论] snguo : 这里很好 来这里支持下呢?
[评论] redondo : 感谢你分享知识! 这篇文章我转载到
[评论] kevinwu : 就是这本;看来我买的贵了点 - 8折;我
[评论] 安妮 : 《Flex3.0 RIA开发详解:基于ActionScript3.0