天天看點

MySQL 優化(memcache)

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

安裝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> load data infile '/tmp/big'into table T1;

遠端測試

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 以背景執行

繼續閱讀