代码改变世界

随笔档案-2012年11月

PHP函数utf8转gb2312编码

2012-11-30 00:43 by 游乐场123, 206 阅读, 收藏,
摘要: 今天,我太点儿低了!转换成功了看不到字符,以为用法有问题,查看源文件,居然是<title>和</title>中的乱码,导致标签变成了:<title>乱七鼓拽?/title>,<title>后全部内容被拉到<title>中做头去了,还在群里喊了半天,发现是这的问题,气都气死了!!! 用ICONV函数: iconv( "UTF-8", "gb2312" , "abc阳光123");据说这样好些,可以忽略转换时的错误! iconv( "UTF-8", &q 阅读全文

删除MySQL二进制日志的3种方法

2012-11-28 23:04 by 游乐场123, 386 阅读, 收藏,
摘要: 1.RESET MASTER可以删除列于索引文件中的所有二进制日志,把二进制日志索引文件重新设置为空,并创建一个新的二进制日志文件2.PURGE MASTER LOGS语法PURGE {MASTER | BINARY} LOGS TO 'log_name'PURGE {MASTER | BINARY} LOGS BEFORE 'date'用于删除列于在指定的日志或日期之前的日志索引中的所有二进制日志。这些日志也会从记录在日志索引文件中的清单中被删除,这样被给定的日志成为第一个。例如:PURGE MASTER LOGS TO 'mysql-bin.010& 阅读全文

Centos5.6 x86下部署安装DRBD+Heartbeat+MySQL

2012-11-28 05:36 by 游乐场123, 210 阅读, 收藏,
摘要: 服务器平台是Dell R410,系统采用的Centos5.6 x86_64,系统盘采用的是Raid1,然后单独拿了一块SAS 500G的硬盘出来准备给DRBD系统用, 这里没有采用单独分区的做法,这是因为在测试中我们发现,单独分区做为DRBD系统使用时,经常有如下报错(以下数据采集来自于实验环境)。特与大家分享。AD:【51CTO独家特稿】报错信息如下所示:Operationrefused.Command'drbdmeta0v08/dev/sda2internalcreate-md'terminatedwithexitcode40drbdadmcreate-mdr0:exite 阅读全文

linux下为目录和文件设置权限,包括子目录的循环递归设置

2012-11-28 03:54 by 游乐场123, 602 阅读, 收藏,
摘要: chmod 命令可以改变所有子目录的权限,下面有2种方法 改变一个文件的权限: chmod mode file|dir 改变所有子目录的权限: chmod mode dir -R 注意后面加了个-R参数参数就是权限模式 mode = 777 or 752 ,666,,,mode的三个数字,分别表示 owner,group,others所具有的权限。1 = x 执行 2 = w 写 4 = r 读,比如owner具有所有权限,1+2+4=7,又比如 group 具有 读 和 执行 权限 1+4 = 5把目录/his及其下的所有文件和子目录的属主改成wang,属组改成users。 $ chown. 阅读全文

使用mysql-proxy 快速实现mysql 集群 读写分离

2012-11-27 22:54 by 游乐场123, 197 阅读, 收藏,
摘要: 目前较为常见的mysql读写分离分为两种: 1、 基于程序代码内部实现:在代码中对select操作分发到从库;其它操作由主库执行;这类方法也是目前生产环境应用最广泛,知名的如DISCUZ X2。优点是性能较好,因为在程序代码中实现,不需要增加额外的设备作为硬件开支。缺点是需要开发人员来实现,运维人员无从下手。 2、 基于中间代理层实现:我们都知道代理一般是位于客户端和服务器之间,代理服务器接到客户端请求后通过判断然后转发到后端数据库。在这有两个代表性程序 mysql-proxy:mysql-proxy为mysql开源项目,通过其自带的lua脚本进行sql判断,虽然是mysql官方产品,但是.. 阅读全文

mysql的数据恢复

2012-11-26 12:24 by 游乐场123, 214 阅读, 收藏,
摘要: http://www.taobaodba.com/html/1430_mysql%e7%9a%84%e6%95%b0%e6%8d%ae%e6%81%a2%e5%a4%8d.html数据库数据被误删除是经常看到的事情,数据的恢复也就自然成为了DBA很重要的一门基本功夫,比较笨拙的办法是拉出历史的备份到另外的一台机器恢复出来,但是这种方法如果数据量比较大的话,往往会耗费较长的时间,以前在使用oracle的时候,提供了很多数据恢复的办法,常用的办法就是采用闪回flashback,或者通过logmnr在分析日志完成数据的恢复,但是在mysql中,数据的恢复变成了很困难的一件事情。 上周一同事的数据库就 阅读全文

Installing PHP5.4 on Centos 5.8

2012-11-26 05:23 by 游乐场123, 242 阅读, 收藏,
摘要: yum install yum-prioritiesrpm -Uvh http://mirrors.ustc.edu.cn/fedora/epel/5/x86_64/epel-release-5-4.noarch.rpmrpm -Uvh http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/x86_64/ius-release-1.0-10.ius.el5.noarch.rpmyum install php54 php54-common php54-devel 阅读全文

mysql proxy 中文乱码解决办法

2012-11-26 05:19 by 游乐场123, 648 阅读, 收藏,
摘要: 最近试用mysql proxy,遇到若干问题,好在一一找到了解决方案,列出来备忘。这次使用的版本是0.6.x,也许新版本就没有这些问题了。无法通过mysql proxy连接mysql在host,password正确的情况下,也会遇到无法连接mysql的情况,可以查查mysql server是不是使用了old_password,检查my.cnf里面是不是有old_password =1有的数据库是从老版本升级上来的,所以会开启这个选项,mysql proxy不支持old_password。另外也可以通过查看密码长度的方式来判断:select length(password)from mysql. 阅读全文

Centos5.6下MySQL Proxy0.8.2的安装及测试

2012-11-26 02:52 by 游乐场123, 304 阅读, 收藏,
摘要: MySQL Proxy是一个处于MySQL Client端和MySQL Server端之间的简单程序,它可以监测、分析或改变它们的通信。它使用灵活,没有限制,常见的用途包括:负载平衡,故障、查询分析,查询过滤和修改等等。AD: 【51CTO独家特稿】MySQL Proxy就是这么一个中间层代理,简单的说,MySQL Proxy就是一个连接池,负责将前台应用的连接请求转发给后台的数据库,并且通过使用lua脚本,可以实现复杂的连接控制和过滤,从而实现读写分离和负载平衡。对于应用来说,MySQL Proxy是完全透明的,应用则只需要连接到MySQL Proxy的监听端口即可。当然,这样prox... 阅读全文

64位CentOS 5.5安装Mysql Proxy 0.8.1

2012-11-26 02:16 by 游乐场123, 299 阅读, 收藏,
摘要: 在生成Mysql的M-S结构后,为了实现读写分离,需要使用Mysql Proxy。目前Mysql Proxy的版本为0.8.1,先从mysql.com下载源码包到/support/目录下。AsiasPD Hosting, IsraelHTTPJAIST, JapanHTTPFTPInternet Initiative Japan Inc., JapanHTTPFTPMysql Proxy安装之前有先决条件,如下:libevent 1.x 或更高glib2 2.6.0 或更高lua 5.1.x 或更高pkg-configlibtool 1.5 或更高MySQL 5.0.x 或更高的开发库先y.. 阅读全文

极致控制下的异常错误处理

2012-11-25 02:27 by 游乐场123, 301 阅读, 收藏,
摘要: "PHP的try/catch只能捕捉一些异常类型的错误,而一些运行时的错误往往无法获取"; 这句话一定要更改. 如果你在try中, 不使用if判断语句来:throw new Exception($error);的话, 你的catch块就是等到2012也不会被触发. 那既然已经if判断了, 我们为何还要用catch来处理异常呢? 自我定义一个统一函数, 如disucz的showmessage()来处理不是更好? "set_error_handler也捕捉不到函数不存在" 的确set_error_handler无法实现, 但我们可以更深层次思考一下, 总要解 阅读全文

MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy)实践

2012-11-07 05:04 by 游乐场123, 182 阅读, 收藏,
摘要: Mysql作为目前世界上使用最广泛的免费数据库,相信所有从事系统运维的工程师都一定接触过。但在实际的生产环境中,由单台Mysql作为独立的数据库是完全不能满足实际需求的,无论是在安全性,高可用性以及高并发等各个方面。因此,一般来说都是通过 主从复制(Master-Slave)的方式来同步数据,再通过读写分离(MySQL-Proxy)来提升数据库的并发负载能力 这样的方案来进行部署与实施的。如下图所示:下面是我在实际工作过程中所整理的笔记,在此分享出来,以供大家参考。一、MySQL的安装与配置具体的安装过程,建议参考我的这一篇文章:http://heylinux.com/archives/993 阅读全文

webmin开新网站/创建虚拟服务器失败setquota: Quota file not found

2012-11-05 23:09 by 游乐场123, 291 阅读, 收藏,
摘要: 如果你在webmin后台,开新网站/创建服务器遇到如下提示,恭喜,你找对教程了。创建虚拟服务器失败 : setquota: Quota file not found or has wrong format. setquota: Not all specified mountpoints are using quota.可能你会不甘心,重新来一次,提示不同了:创建虚拟服务器失败 : A unix user named ctohome.com already exists这次是提示用户已经存在,那么我们去 webmin->系统->用户与组群 删除用户,又有新提示:delete-user 阅读全文

mysql热备份工具mysqlhotcopy

2012-11-05 21:45 by 游乐场123, 300 阅读, 收藏,
摘要: 在运维中需定期备份mysql,为崩溃后的恢复数据做准备。一般分为冷备和热备,冷备就是停掉mysql服务,直接cp文件,但是在生产环境中,很少有机会这样,一般都是在mysql提供服务的时候就进行备份,因此这牵扯到数据一致性的问题。所以,在MyISAM存储引擎下,我们的思路就是:锁表 –>备份–>解锁# 进入mysql环境 锁表root@mysql : test > flush tables with read lock;# 在系统环境下 备份cp -R test /tmp/backup/test_back# 进入mysql环境 解锁root@mysql : test > 阅读全文