Archive

Archive for the ‘Mysql’ Category

PDO使用手册

五月 7th, 2011 No comments

PDO(PHP Data Object) 是PHP 5新出来的东西,在PHP 6都要出来的时候,PHP 6只默认使用PDO来处理数据库,将把所有的数据库扩展移到了PECL,那么默认就是没有了我们喜爱的php_mysql.dll之类的了

【PDO是啥】

PDO是PHP 5新加入的一个重大功能,因为在PHP 5以前的php4/php3都是一堆的数据库扩展来跟各个数据库的连接和处理,什么 php_mysql.dll、php_pgsql.dll、php_mssql.dll、php_sqlite.dll等等扩展来连接MySQL、PostgreSQL、MS SQL Server、SQLite,同样的,我们必须借助 ADOdb、PEAR::DB、PHPlib::DB之类的数据库抽象类来帮助我们,无比烦琐和低效,毕竟,php代码的效率怎么能够我们直接用C/C++写的扩展斜率高捏?所以嘛,PDO的出现是必然的.

1先找到配置文件php.ini中以下几项扩展

Read more…

mysql索引是否工作,sql语句索引是否最高效

五月 6th, 2011 No comments

用explain 来执行检验sql 例如

explain select * from a

+—-+————-+——-+——-+——————-+———+———+——-+——+——-+
| id | select_type | table | type  | possible_keys  | key  | key_len | ref  | rows | Extra |
+—-+————-+——-+——-+——————-+———+———+——-+——+——-+
|  1 | SIMPLE  | t3  | const | PRIMARY,idx_t3_id | PRIMARY | 4  | const |  1 |  |
+—-+————-+——-+——-+——————-+———+———+——-+——+——-+

第四列 type

这列很重要,显示了连接使用了哪种类别,有无使用索引.
从最好到最差的连接类型为const、eq_reg、ref、range、indexhe和ALL

Read more…

Mysql5.5.9GA正式版发布了

二月 23rd, 2011 No comments

一直想试试mysql的新功能,可惜我的mysql服务器存在太多有用的网站数据库,不敢轻举妄动,今天,无意间发现mysql最新般发布了,而且mysql的官方网站也有中文的了,呵呵,看来mysql以后对中文的支持可能会好点了!

Mysql5.5.9最新下载地址http://dev.mysql.com/downloads/mysql/

如何清除mysql的mysql-bin日誌

十二月 21st, 2010 No comments

禁止启用binlog
禁止方法: vi /etc/my.cnf把里面的
#log-bin=mysql-bin
#binlog_format=mixed
注释掉,重启mysql服务即可.

删除binlog方法:
登录mysql
reset master;

这样以来所有binlog日志都被清除,并且索引重新回到1,例如mysql-bin.000001

通过MySQL内置全文检索实现中文的相关检索

十一月 2nd, 2010 No comments

在MySQL4中,是已经开始支持全文检索(索引)的了。但是只是对英文支持全文检索。

由于英文在书写上的特殊性,使得分词算法相对中文来说,简单得多。一般来说,我们可以通过单词与单词之间的空格,以及标点符号来完成这个分词过程。

但是就中文来说,就没有那么简单。MySQL无法对中文做出正确的分词,假设有如下英文句子:

“Hello world! Hello PHP!”

通过上面提及的方法,可以很简单的把这个句子分词为:

1 Hello

2 world

3 PHP

我们再来看看中文的句子:

“你好世界,你好PHP!”

按照英文的算法,分词如下:

1 你好世界

2 你好PHP

显然是不能满足我们的需要的。 Read more…

安装pam-mysql

六月 25th, 2010 No comments

下载地址:http://jaist.dl.sourceforge.net/sourceforge/pam-mysql/pam_mysql-0.7RC1.tar.gz

configure参数:
–with-pam=[PAM_INSTALLATION_PREFIX]
指定pam头文件安装位置
–with-pam-mods-dir=[MODULE_DIRECTORY]
指定将pam_mysql.so安装的位置
–with-mysql=[MYSQL INSTALLATION_PREFIX]
指定mysql的头文件和库安装的位置,如果不指定,会在以下位置寻找
/usr
/usr/local
/usr/mysql
/opt/mysql
–with-openssl=[OPENSSL_INSTALLATION_PREFIX]
指定已安装的openssl的头和库文件位置,如果不指定会在如下位置寻找: Read more…

mysql主从服务器是配置

四月 22nd, 2010 No comments

一、        主从配置的原理:
Mysql的 Replication 是一个异步的复制过程,从一个 Mysql instace(我们称之为 Master)复制到另一个
Mysql instance(我们称之 Slave)。在 Master 与 Slave
之间的实现整个复制过程主要由三个线程来完成,其中两个线程(Sql线程和IO线程)在 Slave 端,另外一个线程(IO线程)在 Master
端。

Read more…

解决数据库(mysql)占用100%的问题

四月 20th, 2010 No comments

MYSQL CPU 占用 100% 的现象描述

早上帮朋友一台服务器解决了 Mysql cpu 占用 100% 的问题。稍整理了一下,将经验记录在这篇文章里.

朋友主机(Windows 2003 + IIS + PHP + MYSQL )近来 MySQL 服务进程 (mysqld-nt.exe) CPU 占用率总为 100% 高居不下。此主机有10个左右的 database, 分别给十个网站调用。据朋友测试,导致 mysqld-nt.exe cpu 占用奇高的是网站A,一旦在 IIS 中将此网站停止服务,CPU 占用就降下来了。一启用,则马上上升。

Read more…

Linux Ubuntu 服务器版 上編譯MySQL通不過的解決方法

三月 16th, 2010 No comments

   最近在Linux Ubuntu 服务器上編譯MySQL時通不過,停留在編譯sql/sql_yacc.cc文件處,很長 時間都通不過,有網友說編譯了三個多小時都通不過,我真的很佩服他的耐心了。我也 遇到了同樣的問題,還有過錯誤的判斷。通過與清華BBS的網友交流,我相信找到了問題 所在。
    有網友說用ports安裝就沒有什問題,但並沒有進一步說明 到底是因為什。看了一下ports中對mysql-server的說明,原來用ports編譯mysql需要 一個包:libtool-1.3.3。
    請看FreeBSD對libtool這個包的描述 Read more…