我爱linux

我是一个linux运维从业者,这个网站记录一些平时调试linux相关文档及生活随笔

Archive for the ‘Mysql’ Category

Debian 6(Squeeze)安装 Nginx + PHP5 + PHP-FPM + MySQL(一)

without comments

Debian 6(Squeeze)终于发布正式版,很让人兴奋,ramhost的技术也很牛,马上出了debian6的系统镜像,第一时间换上,系统初始化,然后是开始经典的nginx+php+mysql网站架构的安装,let’s go!

1:增加源,支持php5-fpm
vi /etc/apt/sources.list
增加以下源
deb http://packages.dotdeb.org stable all

修改保存后
wget http://www.dotdeb.org/dotdeb.gpg
cat dotdeb.gpg | apt-key add -
rm dotdeb.gpg

apt-get update

2:安装 MySQL 5

apt-get install mysql-server mysql-client

在弹出的页面输入2次密码

修改mysql配置文件,去掉innodb,这样可以节省不少内存
vi /etc/mysql/my.cnf

增加下面语句
skip-innodb

保存后,mysql重启一下就生效

3:安装Nginx+php+php5-fpm+memcache

apt-get install php5-cgi php5-mysql php5-gd php5-imagick php5-mcrypt php5-memcache memcached php5-fpm php5-cli nginx

安装成功后,rcconf 把多余的服务x11-common去掉

mkdir /var/www
chown www-data:www-data /var/www

修改memcache的端口和内存大小
vi /etc/memcached.conf

vi /etc/php5/cgi/php.ini
修改下面这句
cgi.fix_pathinfo=1

我的是512M的vps,所以修改php-fpm的配置文件
vi /etc/php5/fpm/pool.d/www.conf

pm.max_children = 25
pm.start_servers = 4
pm.min_spare_servers = 2
pm.max_spare_servers = 10
pm.max_requests = 500

大家也可以根据自己服务器的条件和实际负载需要进行调整

修改nginx的配置文件

vi /etc/nginx/sites-available/default

添加:
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www$fastcgi_script_name;
include fastcgi_params;
}

保存后,重启nginx
/etc/init.d/nginx restart

写一个测试php页面

如果能正常显示那页面,那就大功告成

如果你想手工编译nginx+php+fpm,请参考我的另外一篇指导文章

http://www.5ilinux.com/2011/12/nginx-php-mysql-zendoptimizer.html

 

Written by zhangweibo

四月 15th, 2011 at 1:05 上午

Posted in Mysql,nginx,Php

Tagged with , , , ,

MYSQL的master/slave数据同步配置

without comments

 

 

关于mysql的主辅备份,曾经的作品,原以为丢失了,不想今天整理服务器,又发现,虽然有点老旧,但还是你能给新手带来思路,大家仅作参考,新的版本估计有更好的配置方式

 

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

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点应该是没有数据变化的

作者:张微波

2003-08-06 于北京


 

 

Written by zhangweibo

八月 6th, 2003 at 1:27 上午

Posted in Mysql

Tagged with ,