MySQL调优(mamcache

  • 架构

Web+memcache  [192.168.5.14]

  Memcached  [192.168.5.16]

       Mysql  [192.168.5.15]

  • 搭建lamp架构[5.14]

yum install http* php* mysql* -y

添加网站

/etc/init.d/httpd start

修改网页配置

vim read.php

$memcachehost = '192.168.5.16';

$conn=mysql_connect("192.168.5.15","root","123456");

vim write.php

$memcachehost = '192.168.5.16';

$conn=mysql_connect("192.168.5.15","root","123456");

 

 

安装memcache客户端

tar xf memcache-2.2.7.tgz -C /usr/src/

cd memcache-2.2.7/

ls(没有configure的解决方法)

phpize(-bash:phpize: command not found 的解决方法:yum install php-devel)

./configure --enable-memcache--with-php-config=/usr/bin/php-config

make && make install

 

vim /etc/php.ini(查找PHP调用模块的存放目录)

extension_dir = "/usr/lib/php/modules

ls /usr/lib/php/modules(查看PHP可以调用哪些模块)

dbase.so memcache.so  phpcups.so

vim /etc/php.ini

extension_dir ="/usr/lib/php/modules"(该行下加入)

extension=memcache.so(让PHP调用memcache模块)

 

/etc/init.d/httpd reload

php –m(查看PHP调用哪些模块,等价于访问<?phpphpinfo()?>这个页面)

必须有memcache mysql模块

  • 安装MySQL

yum install mysql* -y

/etc/init.d/mysqld start

建数据库

# mysql

mysql> create database db1;

mysql> use db1;

mysql> create table T1(IDint)engine=innodb;

mysql> grant all on *.* to'root'@'192.168.5.14' identified by '123456';

mysql> flush privileges;

mysql> exit

生成数据

seq 1 19999999 >/tmp/big

# mysql

mysql> use db1;

mysql> load data infile '/tmp/big'into table T1;

mysql> exit

远程测试

mysql -h 192.168.5.15 -u root -p123456

  • memcached服务端

tar xf libevent-2.0.22-stable.tar.gz -C/usr/src/

cd libevent-2.0.22-stable/

./configure  --prefix=/usr/local/libevent && make&& make install

tar xf memcached-1.4.22.tar.gz -C/usr/src/

./configure--prefix=/usr/local/memcached --with-libevent=/usr/local/libevent/

 

开启memcached

/usr/local/memcached//bin/memcached -uroot -p 11211 -l 192.168.5.16 -P /var/run/memcached.pid -m 128m -c 2048 –d

-u 运行memcache服务的用户

-P 端口号

-l 监听地址

-p() 指定pid放到哪个文件中

-m 从内存上划分多少容量来缓存数据

-c  并发是多少

-d 以后台执行