RSS feed 
2011-10-25 13:42 by TomorrowMan 评论 分类: php, web服务器, 技术

今天改客户的一个需求,要上传大文件,按以往经验,在php.ini中设置以下几处:
file_uploads on 开启上传
upload_max_filesize 128m 上传文件最大值
post_max_size 128m PHP的POST的最大值
由于文件大,上传时间可能会长,还需设置以下:
max_execution_time 1800 页面运行时间 0为无限制
max_input_time 1800 接受数据时间
memory_limit 128m php单页面占用内存

设置好后,测试,依然不能上传大文件。
在nginx.conf中查看,看到 client_max_body_size 8m; 修改为128m,测试,OK!

2011-06-16 14:44 by TomorrowMan 评论 分类: 技术, 数据库, 网海拾贝

转自:http://www.koven.org/archives/203.html
设置MySQL数据同步(单向&双向)

一、准备服务器

由于MySQL不同版本之间的(二进制日志)binlog格式可能会不一样,因此最好的搭配组合是Master的MySQL版本和Slave的版本相同或者更低,Master的版本肯定不能高于Slave版本。

本文中,我们假设主服务器(以下简称Master)和从服务器(以下简称Slave)的版本都是5.0.27,操作系统是RedHat Linux 9。

假设同步Master的主机名为:A(IP:192.168.0.1),Slave主机名为:B(IP:192.168.0.2),2个MySQL的basedir目录都是/usr/local/mysql,datadir都是:/var/lib/mysql。

二、设置同步服务器

1、设置同步Master

修改 my.cnf 文件,在
# Replication Master Server (default)
# binary logging is required for replication
添加如下内容:
log-bin=/var/log/mysql/updatelog
server-id = 1
binlog-do-db=test
binlog-ignore-db=mysql

重启MySQL,创建一个MySQL帐号为同步专用

GRANT REPLICATION SLAVE,RELOAD,SUPER, ON *.* TO back@192.168.0.2 IDENTIFIED BY 'back' ;
FLUSH PRIVILEGES ;

2、设置同步Slave

修改my.cnf文件,添加
server-id = 2
master-host = 192.168.0.1
master-user = back
master-password = back
master-port = 3306

replicate-ignore-db=mysql
replicate-do-db=test

重启MySQL

3、启动同步

在主服务器A MySQL命令符下:
show master status;
显示(当然这个是我机器的情况,你的不可能跟我一样哈,只是个例子):
+------------------+----------+-------------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+-------------------+------------------+
| updatelog.000028 | 313361 | test | mysql |
+------------------+----------+-------------------+------------------+

在从服务器A MySQL命令符下:
slave stop;
CHANGE MASTER TO MASTER_LOG_FILE='updatelog.000028′,MASTER_LOG_POS=313361;
slave start;

用show slave status\G;看一下从服务器的同步情况
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
如果都是yes,那代表已经在同步

往表里面写点数据测试一下看是否同步成功,如果不成功,绝对不是你的RP问题,再检查一下操作步骤!

4、设置双向同步

修改B服务器的my.cnf,添加
log-bin=/var/log/mysql/updatelog
binlog-do-db=test
binlog-ignore-db=mysql

重启MySQL,创建一个MySQL帐号为同步专用

GRANT REPLICATION SLAVE,RELOAD,SUPER, ON *.* TO back@192.168.0.1 IDENTIFIED BY 'back' ;
FLUSH PRIVILEGES ;

修改A服务器的my.cnf,添加
master-host = 192.168.0.2
master-user = back
master-password = back
master-port = 3306

replicate-ignore-db=mysql
replicate-do-db=test

重启MySQL

在主服务器B MySQL命令符下:
show master status;
+------------------+----------+-------------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+-------------------+------------------+
| updatelog.000028 | 13753 | test | mysql |
+------------------+----------+-------------------+------------------+

在服务器A MySQL命令符下:
slave stop;
CHANGE MASTER TO MASTER_LOG_FILE='updatelog.000028′,MASTER_LOG_POS=13753;
slave start;

其实也就是A->B单向同步的反向操作!双向同步,就这么简单啦!

2011-01-12 14:30 by TomorrowMan 评论 分类: Linux, web服务器, 技术

更改已安装apache和mysql的服务器环境,变更为nginx
笔记:
1、更改已有mysql的数据库文件路径:
停止mysql服务
/usr/local/mysql/bin/mysqladmin -u root -p shutdown
拷贝或者转移数据库文件至你的新文件夹

cp -rpf /usr/local/mysql/var/* /data/mysql/
chown -R mysql:mysql /data/mysql

修改my.cnf
vi /etc/my.cnf
socket = /data/mysql/mysql/mysql.sock 或 /tmp/mysql.sock(默认)
修改MySQL启动脚本
vi /etc/init.d/mysqld
修改datadir=/data/mysql
重启

/etc/init.d/mysqld restart
reboot

2、停用apache
查看运行的程序 ps -ef
停止apache

/usr/local/apache/bin/apachectl stop
或 service httpd stop

停用开机启动命令:chkconfig
或者修改 /etc/rc.d/rc.local

3、按照http://blog.s777n.net/centos5-nginx-php-mysql/ 来下载安装包进行安装(省略mysql的编译安装)。

查看用户 /etc/passwd

2010-12-08 08:58 by TomorrowMan 评论 分类: 未分类

瞎忙活

2010-09-11 12:25 by TomorrowMan 评论(1) 分类: 其他, 技术

在win7 32位安装成功。
工具:
VMware Workstation 7.0
MAC OS X Snow Leopard 10.6
Darwin或Rebel EFI引导光盘ISO镜像文件
VMDRIVERS(虚拟机声卡显卡驱动)

安装:
1、确保你的cpu支持虚拟化技术,并且在BIOS中打开虚拟技术VT
2、安装VM,新建虚拟机。选择操作系统:Other->FreeBSD 64-bit,内存1G+,硬盘15G+。
3、创建完成后,在Hardware中,选择CD/DVD,点击Advanced,设置为SCSI,删除软驱,关闭VM,在你创建的虚拟机目录下找到.vmx的文件,记事本编辑,将guestOS = "freebsd-64" 修改为:guestOS = "darwin10" ,此步必须!!!否则将无法安装!
4、用光驱加载Rebel EFI引导系统,直到提示插入mac系统盘,再加载macos10,完成后不管提示失败成功,再将光驱再加载Darwin,关闭重启
5、启动后,安装VMTOOLS(在Darwin中)
6、将VMDRIVERS解压,并把此文件夹设为虚拟机的共享文件夹(在虚拟机中Options设置Shard folders)。
7、去虚拟机中将驱动文件拷贝后,安装声卡(EnsoniqAudioPCI 2.mpkg)显卡(先加压vmsvga2.pkg.zip)驱动。
ok,完成

2010-08-24 17:36 by TomorrowMan 评论 分类: 技术, 数据库

如果在mysql中使用字符集为utf8,想要对中文字段用order by chinese_field 排序,那么出来的顺序并不是按照拼音排序的,不是我们想要的结果。
解决方法:
1、改变字符编码为gbk。 :D DD
2、不想改变编码的话,可以用如下方法:
对中文字段使用gbk编码排序:
SELECT * FROM table ORDER BY CONVERT( chinese_field USING gbk ) ;

当然这需要你安装mysql时安装了gbk字符集,不然会报错:#1115 - Unknown character set: 'gbk'

2010-08-20 12:51 by TomorrowMan 评论 分类: 未分类

“你好,我是Bear Grylls,现在我将示范如何在穷山恶水中求生存,我将面临长达一周的挑战,如果缺乏正确求生技巧,你在这些地方将活不过一天……”。看完了《Man VS. Wild》荒野求生1-4季,被bear的超强的求生技能和顽强乐观的意志深深打动。
当你迷失荒野,首先要克服孤独恐惧,然后评估环境和自身,寻找水源和食物,并学会制造火源、构建栖息的场所,辨明方向,最终回到文明社会。
然而,迷失在文明社会,如何求生……
一切都是建立在意志力之上!
快,打起精神来~

2010-08-20 12:51 by TomorrowMan 评论 分类: 未分类

不用表扬我,也不要仰望我。对于只会编程和炒鸡蛋的我来说,末日之后没法养活自己。不如在最后时刻欣赏一下天地毁灭和你们厮杀上船的情景。想到这,我很欣慰,很期待。

2010-06-08 17:14 by TomorrowMan 评论 分类: Linux, 技术

在centos 5 下配置rsync笔记。

安装:

yum install -y rsync xinetd

查看安装:

rpm -ql rsync

修改:

vi /etc/xinetd.d/rsync
disable=no

阅读全文»

2010-05-12 09:43 by TomorrowMan 评论 分类: 网海拾贝

[转自:http://songshuhui.net/archives/36968.html 奥卡姆剃刀 发表于 2010-04-25 14:10]

战争中你被俘了,敌人拷问你情报。你是这么想的:如果我把情报都告诉他们,他们就会认为我没有价值了,就会杀了我省粮食,但如果我死活不说,他们也会认为我没有价值而杀了我。怎样才能做到既让他们确信我知道情报,但又一丁点情报也不泄露呢? 阅读全文»