WDCP升级5.2.17到5.3.17同时编译pdo_mysql

WDCP中,把php5.2.17升级到5.3.17时,原先的pdo_mysql和memcache扩展都失效了,需要重新编译安装。这个过程很麻烦,特别是编译pdo_mysql后,还得手工加在php.ini中。
其实,可以在升级php版本同时把pdo_mysql也直接编译进去。只需要在./configure 后面的参数加上:–with-mysql=mysqlnd –with-mysqli=mysqlnd –with-pdo-mysql=mysqlnd即可。 (more…)

发表于:2014-12-12 22:57:35 分类:代码 发表评论 Tags:, , ,

如何测试MySQL的压力?

生产服务器用LANMP组合和用LAMP组合有段时间了,总体来说都很稳定。但出现过几次因为MYSQL并发太多而挂掉,一直想对MYSQL做压力测试。刚看到一篇介绍MYSQL压力测试的文章,确实不错,先收藏先吧。
(more…)

发表于:2013-04-01 22:47:18 分类:服务器 4条评论 Tags:

mysql存储日期的方式

最近遇到了在MYSQL里存储日期的一些问题。之前日期存储的格式如(2011-07-08 16:30:45),后来在使用时发现有些不便。查了一下,发觉使用UNIX时间戳是很好的办法。UNIX时间戳是以UTC时间1970年1月1日 00:00:00作为0值,离这个时间每过1秒,数值增加1。 (more…)

发表于:2011-07-08 16:03:31 分类:代码 2条评论 Tags:

基础篇:CentOS常用命令收藏

这几天开始折腾LNMP,说实在的LNMP组合确实强大。不过对于WINDOWS的用户来说上手太难了。好在10年前我学过DOS,也还算比较了解,对于LNMP下要用命令来配置,还是值得学习。嗯,以后会收集记录一个LNMP的使用文章。什么是LNMP?就是Linux+Nginx+MySQL+PHP。 (more…)

发表于:2011-03-30 12:21:28 分类:服务器 发表评论 Tags:, , ,

利用mysql数据库中的TMD表修复“is marked as crashed and last (automatic?) repair failed”的错误

昨天不知是什么原因,网站的MYSQL数据库突然提示“is marked as crashed and last (automatic?) repair failed”采用phpmyadmin进行查看时,发现有个表由原来28M的变成了8M,并且提示这个表正在使用中。开始试着用phpmyadmin直接进行修复操作,但问题仍然存在。
开始认为文件损坏不能再修复回来。只好找来备份的SQL文件还原到一个临时的数据库中,并复制这个表的MYD替换掉正在使用的数据库中。虽然网站能访问了,可数据却不存并,备份中里的数据也显示不出来。 (more…)

发表于:2010-04-15 14:56:53 分类:代码 发表评论 Tags:, , , ,

使用批处理实现mysql数据库备份与上传

有一台windows服务器上跑着mysql的一些应用,现在需要将mysql的数据每天备份,并通过ftp上传到指定的存储服务器上

要是在linux上,shell 脚本很容易就搞定了,在windows上习惯了点鼠标,哪里来的脚本,一时还真不知道该怎么弄.baidu,google得知可以通过批处理或者vbs脚本实现. (more…)

发表于:2008-05-11 09:05:48 分类:代码 发表评论 Tags:,

MySQL实现表中取出随机数据

以前在群里讨论过这个问题,比较的有意思.MySQL的语法真好玩.他们原来都想用PHP的实现随机,但取出多条好像要进行两次以上查询.翻了手册,找到了下面这个语句,可以完成任务了。  rand在手册里是这么说的:
  RAND()
  RAND(N)
  返回在范围0到1.0内的随机浮点值。如果一个整数参数N被指定,它被用作种子值。  你不能在一个ORDER BY子句用RAND()值使用列,因为ORDER BY将重复计算列多次。然而在MySQL3.23中,你可以做: SELECT * FROM table_name ORDER BY RAND(),这是有利于得到一个来自SELECT * FROM table1,table2 WHERE a=b AND c<d ORDER BY RAND() LIMIT 1000的集合的随机样本。注意在一个WHERE子句里的一个RAND()将在每次WHERE被执行时重新评估。
  但我试了一下,8千条记录的表,执行一次需要0.08 sec,.慢了些
  后来请教了google,得到如下代码  执行效率需要0.02 sec.可惜的是,只有mysql 4.1.*以上才支持这样的子查询.

以上内容转载.

发表于:2008-01-08 02:01:37 分类:个人 2条评论 Tags:,

MySQL优化全攻略-相关数据库命令

我们讨论的是数据库性能优化的另一方面,即运用数据库服务器内建的工具辅助性能分析和优化。

▲ SHOW

执行下面这个命令可以了解服务器的运行状态:MySQL >show status;

该命令将显示出一长列状态变量及其对应的值,其中包括:被中止访问的用户数量,被中止的连接数量,尝试连接的次数,并发连接数量最大值,以及其他许多有用的信息。这些信息对于确定系统问题和效率低下的原因是十分有用的。

SHOW命令除了能够显示出MySQL服务器整体状态信息之外,它还能够显示出有关日志文件、指定数据库、表、索引、进程和许可权限表的宝贵信息。 (more…)

发表于:2008-01-08 02:01:35 分类:代码 发表评论 Tags:, , ,

distinct在mysql中查询多条不重复记录值的解决办法

使用distinct在MySQL中查询多条不重复记录值的解决办法

在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。其原因是distinct只能返回它的目标字段,而无法返回其它字段,这个问题让我困扰了很久,用distinct不能解决的话,我只有用二重循环查询来解决,而这样对于一个数据量非常大的站来说,无疑是会直接影响到效率的。所以我花了很多时间来研究这个问题,网上也查不到解决方案,结果很郁闷了。。。。。。。。。 (more…)

发表于:2008-01-08 02:01:13 分类:代码 发表评论 Tags:,

优化MySQL数据库性能的几个好方法

1、选取最适用的字段属性

MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽可能小。例如,在定义邮政编码这个字段时,如果将其设置为CHAR(255),显然给数据库增加了不必要的空间,甚至使用VARCHAR这种类型也是多余的,因为CHAR(6)就可以很好的完成任务了。同样的,如果可以的话,我们应该使用MEDIUMINT而不是BIGIN来定义整型字段。

另外一个提高效率的方法是在可能的情况下,应该尽量把字段设置为NOT NULL,这样在将来执行查询的时候,数据库不用去比较NULL值。

对于某些文本字段,例如“省份”或者“性别”,我们可以将它们定义为ENUM类型。因为在MySQL中,ENUM类型被当作数值型数据来处理,而数值型数据被处理起来的速度要比文本类型快得多。这样,我们又可以提高数据库的性能。
(more…)

发表于:2008-01-08 01:01:34 分类:代码 发表评论 Tags:, ,

在DOS命令行下发送邮件

由于WINDOWS系统的命令行下没有发送邮件的命令,所以我们需要通过第三方来实现。现在Simonsu推荐febootimail这个功能强大的工具。用法如下:用上面的语句就可以把邮件发送出去了。并且可以带上附件。
如果再结合Simonsu之前提到的用批处理备份MYSQL数据库的方法,就可以实现定时把备份好的数据发送到指定邮箱了。

如果是恶意使用的话,可就是制造轰炸机了。

下面带上 febootimail 命令行参数指南.chm及febootimail.exe工具。 点击下载此文件
解压密码是: www.tsov.net

用批处理备份MYSQL数据库的方法:
http://tsov.net/achieved-using-the-batch-upload-mysql-database-backup-and

发表于:2007-10-04 09:10:59 分类:工作 6条评论 Tags:, ,

在MySQL里利用SQL语句批量替换页内字符

在MySQL里运行以下SQL语句可以批量替换页内字符
SQL语句的格式如下:

Update `表名` SET `需要修改的字段名` = replace (`需要修改的字段名`,'被替换的内容','替换的内容') Where `需要修改的字段名` LIKE '%被替换的内容%'

比如我要将www.xxxxxxx.net替换成www.tsov.net,需要运行的SQL语句是:

Update test SET hostname = replace (hostname,'www.xxxxxxx.net','www.tsov.net') Where hostname LIKE '%www.xxxxxxx.net%';

下面语句就可以查询关键字了
Select `message` FROM `cdb_posts` Where `message` LIKE '%关键字%'

下面的是用了REGEXP而已,正则的更灵活更方便
将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; 

发表于:2007-08-23 02:08:08 分类:代码 发表评论 Tags:

mysql导入数据库文件最大限制更改解决方法

下午用phpmyadmin导入mysql数据库时,我的远远大于2M数据库不能导入,mysql数据库最大只能导入2M..

phpmyadmin数据库导入出错:
You probably tried to upload too large file. Please refer to documentation for ways to workaround this limit.

经网上查知,得:
遇到导入过大文件时,首先检查php.ini 配置文件中的以下三个地方,upload_max_filesize, memory_limit 和post_max_size,并且推荐修改的值要稍大于导入的巨大sql数据库文件;依照这个提示,我修改了以上三个在php.ini中的值以后,重启了php环境(IIS),再次导入时,虽然phpmyadmin还是显示导入最大限制:20,480 KB,但巨大的数据库文件已经被成功的导入了。

我的环境: winxp+mysql
                phpMyAdmin – 2.10.2

发表于:2007-07-18 02:07:05 分类:工作 4条评论 Tags:

通过MyODBC,用ASP操作MYSQL

MyODBC让你不用Web Server更新MySQL数据库,MyODBC提供了标准的ODBC界面存取,让你直接用VB、VC、BCB、Access等等透过ODBC直接存取数据库,长久以来资料库与Internet的结合,经常受到安全性的考量。但数据库与Internet的结合又是未来整体的趋势,如何能兼顾安全性以及方便性,透过ODBC便可以有良好的解决。用过ASP的人都知道ODBC的重要,只要您的Client端支持ODBC,皆可用VB、VC、BCB、Access等等的软件更新资料库。现在MySQL也有ODBC了,让你直接透过各式各样的应用程序直接存取MySQL数据库,不但方便,也更容易使用。在ODBC的机制下,公司内部资料库可以与Web Server分开,而公司内部的资料可以靠Client,利用拨号方式,透过ODBC介面与MySQL资料库沟通,进行更新。对公司而言,资料安全多了。服务器与主机也可以委托给ISP托管,并不需花带大成本。本版ODBC需避免搭配MySQL 3.21.17以前的版本,但仍可在MySQL 3.20.X版使用。如需使用VC++来编译则需搭配MySQL 3.23.23以后的版本。

发表于:2007-01-29 06:01:10 分类:工作 发表评论 Tags:,

正在加载信息...

Archives