摘要:
前言在更新数据库时,有时会遇到这样的错误:Illegal mix of collations (gbk_chinese_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='这是什么原因呢,先来讲一下字符集的相关知识吧。深入分析问题1、MySQL5的字符集支持MySQL5.1 中的字符集支持包括在MyISAM、MEMORY和InnoDB存储引擎中。MySQL5支持多种字符集来存储字符串,对每种字符集也有相应的校对规则 (Collation)来进行比较。MySQL5还支持从服务器、数据库到数据库表、列、连接等多 阅读全文
摘要:
常常会用到php的$_SERVER变量,可是好多常用的参数又不熟每次都去查手册。为了记住一些常用的,写个日志吧。前导:网站根目录:/www/domain.com/访问Url:http://www.domain.com/requesturl.php?debug=1下面的结果都是以上面为条件的。SCRIPT_FILENAME: 当前执行脚的绝对地址。如果是命令行执行时,使用了相对地址来指定php文件,那么这个变量显示的就是相对地址的。 注意这里的绝对地址是相对于系统而言的。 结果:/www/domain.com/requesturl.phpQUERY_STRING: Url里?后面的内容。查询字. 阅读全文
摘要:
Mysql Replace语句的语法:REPLACE [LOW_PRIORITY | DELAYED][INTO] tbl_name [(col_name,...)]VALUES ({expr | DEFAULT},...),(...),...或:REPLACE [LOW_PRIORITY | DELAYED][INTO] tbl_nameSET col_name={expr | DEFAULT}, ...或:REPLACE [LOW_PRIORITY | DELAYED][INTO] tbl_name [(col_name,...)]SELECT ...使用Replace into与Inse 阅读全文
摘要:
与mysql授权相关的命令有create user、grant、revoke。CREATE USER user [IDENTIFIED BY [PASSWORD] 'password'] [, user [IDENTIFIED BY [PASSWORD] 'password']] ... create user用于创建数据库帐户,并会赋予它usage权限。GTANT priv_type [(column_list)] [, pri_type [(column_list)]] ...ON priv_level TO user [IDENTIFIED BY [PAS 阅读全文
摘要:
下面讲的命令,有部分只能在linux上才有。像pager命令windows上就没有了。分屏:在Linux上,而且不是xwindow时,使用mysql命令行时,输出太多的东西,看不到就很悲剧了。在shell中可以使用管道或是直接用more,但是mysql命令行里怎么办呢?有pager命令,解决了上面的问题。mysql> pager morePAGER set to 'more'mysql> show tables;table1...tableN--more--等等,我要是不想再用分屏显示怎么办,nopager|\n帮你变回原样(stdout)。pager的功能,可不只 阅读全文
摘要:
现在PHP有很多的框架,基本都是以MVC为基础进行设计的。其实很多框架(像thinkphp,zf,symfont等)都有两个特性,自动加载类文件和统一入口。这里就简单实现以上两个特性。假设PHP使用的版本在5.3以上,5.3以上支持命名空间自动加载类文件: 我们做__autoload来实现,现在PHP官方是建议使用spl_autoload去实现,具体好处自己去google吧。这里还是简单的用__autoload去实现,来学习自动加载的原理。 目录结构: inc.php:entry = $urlInfo[0]; $module = $urlInfo[1]; $par... 阅读全文
摘要:
基本用法:[root@test tmp]# mysqldump -u username -p databasename > '/tmp/mysql.sql'只导出结构: [root@test tmp]# mysqldump -u username -p -d databasename > '/tmp/mysql.sql'只导出部分表: [root@test tmp]# mysqldump -u username -p databasename tablename1 tablename2 > '/tmp/mysql.sql' 只导 阅读全文
摘要:
今天研究一下find的一些常用的命令。find格式:find filepath [-option] [-print|-exec|-ok...]其中常用的option主要有-type d|f|s|b|c|p-perm-user-group-mtime-depth-newer-name-regex!下面我们通过例子来研究,事先准备了这样的一个目录结构[root@test tmp]# find ./././root2./root2/sub1./root2/sub1/sub2./root./root/sub1./root/sub1/sub2./root/sub1/sub2/sub3./test.txt 阅读全文
摘要:
在web服务器上的文件要使用什么权限比较好呢。我开始的时候直接都是777,后台安全部门的同事,通过漏洞把我管理的服务器给搞了。报告到我这里,我才意识到权限的设置不能马虎。环境采用nginx+php,一般来说两个服务是以相同的帐户运行的,如www,所以建议目录设置为744,文件设置为644。权限系统里,r权限=4,w权限=2,x权限=1,这三个权限值相加的结果就是最终的权限值,6=4+2也就是说有rw权限。由于打开文件夹(目录)的行为,是需要x权限的,所以目录不能设置为6,不然你就别想进入目录去读文件了。 阅读全文
摘要:
转自 :http://solf.me/compile-nginx-php-mysql-on-centos-lnmp/ (不错的博客)准备当然是可以上网的机器,可以是虚拟机,VPS,服务器,安装CentOS,其他分支没测试过,最好在虚拟机上先试手一下,因为有snapshot,随时可以回滚所有操作。必要时先清空iptables, 关闭SELINUX源文件下载的目录是 /usr/local/src前期工作更新系统,安装必要的程序,此步骤需要用到yum命令安装 先下载各个软件包cd /usr/local/srcwget http://nginx.org/download/nginx-1.0.tar.g 阅读全文