MySQL原始团队已重整旗鼓!

为了MySQL控制权,Oracle收购了Sun,但却没有挽留住MySQL的核心人物。

Oracle于09年收购了Sun,其中必不可少的原因就是获得MySQL这个最热门开源DBMS的控制权。然而这一收购似乎并未完全达到Oracle的目的:

  • 早在08年MySQL被Sun收购之后,MySQL旧部(一些创始人及顶级工程师)就离开了MySQL并成立新公司SkySQL;
  • 而在Sun被Oracle收购后,同样有一批高层出去创立了Monty Program Ab(MariaDB的母公司)。

有趣的是,似乎正应对了“分久必合,合久必分”这句老话,SkySQL于23日 宣布将与Monty Program Ab签署合并协议,合并后新的公司将使用SkySQL的名字运作;同时SkySQL宣布加入MariaDB基金会,成为最早的成员之一,为MariaDB 的发展捐献资源和资金。

skysql
 

Monty Program Ab、SkySQL及合并后的简要状况

Monty Program Ab由 MySQL 的联合创始人兼CEO(原)Michael Widenius创办,该公司开发了MySQL的衍生版本MariaDB。MariaDB的特色更在于其可以无缝的连接一些新型数据库系统,比如类似 Cassandra和LevelDB,这归结于其可插式的储存引擎。Cassandra在给予用户使用新型数据库技术的能力的同时,让用户还可以访问遗留 在旧数据库系统中的数据,避免昂贵开销和风险实现数据的迁移。

SkySQL则是MySQL前高管和投资者在Sun被Oracle收购后创办(据传是不满Sun被收购后,MySQL的前进脚步),目的是提供 MySQL/MariaDB 生态系统的支持。公司承诺其不会强迫用户从MySQL转移到MariaDB,并将继续发展为用户提供的MySQL支持。

而根据 Gigaom消息,新公司将包括Widenius、David Axmark(MySQL联合创始人)、Magnus Stenberg(前MySQL销售总监)这些MySQL的老人,然而更“恐怖”的是合并后公司共有70名员工,其中有50个是MySQL的旧部。

合并后SkySQL的目标将放在下面4点:

永不过时——支持现有及后续所有MySQL版本,并保证MariaDB将持续开源以及独立。

多种访问——可互操作及灵活的访问不同类型数据库,通吃SQL及NoSQL。

节约成本——通过有效的维护和支持减少数据库成本及其它的IT开销。

保持透明——为了保证数据安全,将给用户呈现清晰的bug修补并开放测试用例。

合并后的公司高层

合并后将任命Patrik Sallner为CEO,而MySQL兼MariaDB创始人Michael Widenius将任职合并后公司的CTO。合并操作将持续4个月的时间,其商业条款并未公布。同时,他们都承诺MariaDB将会一直保持独立和开源。

Wikipedia等公司的“倒戈”

值得一说的是在合并宣布前不久, Wikipedia就完成了从MySQL到MariaDB迁移,而 Fedora 及OpenSUSE Linux更宣布将在MariaDB推出下一个版本后抛弃MySQL使用MariaDB。

写在最后

从MySQL被Sun收购,再到Sun被Oracle收购,我们可以看到把数据库行业作为其取款机的巨头Oracle,在面对竞争对手时简单而粗暴的手段及强大的统治力量。而面对如此强势的Oracle,相信许多人和笔者一样在期待这些MySQL旧部的表现。 继续阅读

Windows Server 2003 配置php支持

一、要准备的软件包:
操作系统:Windows Server 2003 企业版(X86)
1、Microsoft Visual C++ 2008 Redistributable Package (x86)
http://www.microsoft.com/zh-cn/download/details.aspx?id=29
http://download.microsoft.com/download/7/5/0/7502f4e9-1f90-4895-9259-1bde67b8b9a1/vcredist_x86.exe

Microsoft Visual C++ 2008 Redistributable Package (x64)
http://www.microsoft.com/zh-cn/download/details.aspx?id=15336

2、FastCGI 1.5 for IIS 6 and 5.1(x86)
http://download.microsoft.com/download/E/0/C/E0C0709A-66E5-4113-9A6C-A5F65BF6717D/fcgisetup_1.5_rtw_x86.msi

FastCGI 1.5 for IIS 6 and 5.1(x64)
http://download.microsoft.com/download/6/0/2/60237D55-DABA-4FF1-921B-786E0A968049/fcgisetup_1.5_rtw_x64.msi

3、.NET Framework 2.0 (x86)
http://download.microsoft.com/download/c/6/e/c6e88215-0178-4c6c-b5f3-158ff77b1f38/NetFx20SP2_x86.exe
http://download.microsoft.com/download/c/6/e/c6e88215-0178-4c6c-b5f3-158ff77b1f38/NetFx20SP2_x64.exe
http://download.microsoft.com/download/c/6/e/c6e88215-0178-4c6c-b5f3-158ff77b1f38/NetFx20SP2_ia64.exe

4、PHP 5.3 (5.3.26)
http://windows.php.net/download/
下载的时候有几个不同版本选择。那就是VC6 X86和VC9 X86。
(1)、VC6就是legacy Visual Studio 6 compiler,就是使用这个编译器编译的。如果你是在windows下使用Apache+PHP的,请选择VC6版本;
(2)、VC9就是the Visual Studio 2008 compiler,就是用微软的VS编辑器编译的。如果你是在windows下使用IIS+PHP的,请选择VC9版本;

(1)、Non Thread Safe就是非线程安全;
(2)、Non Thread Safe 是线程安全;
官方并不建议你将Non Thread Safe 应用于生产环境,所以我们选择Thread Safe 版本的PHP来使用。

二、安装步骤:
1.安装完前3款文件

2.解压php-5.3.26-nts-Win32-VC9-x86.zip文件到

C:\php\

3.安装完FastCGI文件,可以在Internet信息服务(IIS)管理器中查看到(默认是禁止的,需双击或点击按钮允许)

配置FCGIEXT.ini文件
编辑

C:\WINDOWS\system32\inetsrv\fcgiext.ini

文件,在最后增加

[Types]
php=PHP
[PHP]
ExePath=C:\php\php-cgi.exe

还可增加如下更多的配置

InstanceMaxRequests=10000
ActivityTimeout=300
RequestTimeout=300
EnvironmentVars=PHP_FCGI_MAX_REQUESTS:10000,PHPRC:ExePath=C:\php\ext

配置PHP.ini文件

1.复制C:\php\php.ini-development文件,并改名为php.ini

2.修改PHP.ini文件中,将选项前的”;”号去掉(注意,文件路径是否正确。)


extension=ext/php_gd2.dll
extension=ext/php_mbstring.dll
extension=ext/php_mysql.dll
extension=ext/php_mysqli.dll
extension=ext/php_pdo_mysql.dll
extension=ext/php_pdo_sqlite.dll
extension=ext/php_sqlite.dll
extension=ext/php_sqlite3.dll

[Date]
; http://php.net/date.timezone
date.timezone = Asia/Shanghai

upload_max_filesize = 20M

配置IIS的PHP扩展支持

网站-属性-主目录-配置-添加(下面图里面选择的是“默认网站”,不予理会,操作方法是一样的)
001

002
可执行文件:[C:\WINDOWS\system32\inetsrv\fcgiext.dll]

扩展名:[.php]

限制为:[GET,HEAD,POST]
003

测试PHP

建立一个文本文件,代码另存为index.php

<?php
phpinfo();
?>

中小企业网站CMS的最佳数据库选择-SQLite

SQLite 是一个类似Access的轻量级数据库系统,但是更小、更快、容量更大,并发更高。为什么说 SQLite 最适合做 CMS (内容管理系统)呢?并不是说其他数据库不好, oracle、MySQL、SQLServer 也都是非常优秀的 DBS,只不过他们设计目标不同,特性不同,所以只有更适用某个应用场景,没有绝对的好坏之分。

归纳的中小型站点的CMS的特点如下:

1、数据量不超过10万
2、日页面访问量不超过10万
3、 一部分网站全部生成静态页面,一部分网站实时查询数据库动态访问
4、 站长不懂技术,不懂得复杂的数据库维护,只会用 FTP 管理网站
5 、个人站点基本上是一个人管理,一般情况下只有一个人在访问后台,没有并发
6、 对数据库来说是读多写少,只有在站长访问后台的时候才会写入
7、 多运行于虚拟主机,大部分PHP主机均同时支持MySQL,小部分PHP主机需要单独购买MySQL,PHP+MySQL的主机价格较PHP主机价格高。(以万网为例:最便宜的PHP空间780元,最便宜的PHP+MySQL的PHP空间1150元)
8、 多数中小站点的HTTP服务与MySQL部署在同一服务器上

SQLite 的优点在中小网站CMS应用场景下表现突出:

1、与MySQL相比,它更彻底的免费,并且没有任何使用上的限制
2、非常小巧,PHP5以上版本中无需任何配置即可支持SQLite
3、无需单独购买数据库服务,无服务器进程,配置成本为零
4、整个数据库存储在一个单个的文件中,数据导入导出备份恢复都是复制文件,维护难度为零
5、读速度快,在数据量不是很大的情况下速度较快,更重要的是:省掉了一次数据库远程链接没有复杂的权限验证,打开就能操作

SQLite的缺点在中小网站 CMS 应用场景下被规避:

1、并发低 动态访问时当访问量不超过10万PV的时候,SQLite 超过 Access 的并发能力已经绰绰有余;生成静态页后更无需考虑数据库的并发问题
2、在大数据量的情况下表现较差 但是中小站点一般情况下数据量不超过10万,而SQlite 在 100 万数据量之下表现还不错,因为省掉了对数据库服务器的远程连接甚至会更快
3、写入较慢 默认配置下的 SQlite 的写入速度比MySQL慢了很多,但是 CMS 应用场景的写入操作较少。在插入新文章的时候基本感受不到慢。集中的写数据库操作只有在安装的时候会出现,不过只出现一次,可以忽略
4、为已有的表加索引较慢 但是在中小站点CMS中不会有这样的需求,可以忽略
5、无法将 MySQL 部署到与前端机不同的服务器上,但是中小站点也没有分开部署的需求
综上所述:在中小站点 CMS 的应用场景下 SQLite 能最大限度的降低建站成本,降低维护难度,又很好得规避了自身的缺点。所以我认为未来支持 SQLite 的 CMS 系统一定会成为主流。

Linux中dd命令详解

一、dd命令

dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。

注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:b=512;c=1;k=1024;w=2

参数注释:

  1. if=文件名:输入文件名,缺省为标准输入。即指定源文件。< if=input file >
  2. of=文件名:输出文件名,缺省为标准输出。即指定目的文件。< of=output file >
  3. ibs=bytes:一次读入bytes个字节,即指定一个块大小为bytes个字节。
    obs=bytes:一次输出bytes个字节,即指定一个块大小为bytes个字节。
    bs=bytes:同时设置读入/输出的块大小为bytes个字节。
  4. cbs=bytes:一次转换bytes个字节,即指定转换缓冲区大小。
  5. skip=blocks:从输入文件开头跳过blocks个块后再开始复制。
  6. seek=blocks:从输出文件开头跳过blocks个块后再开始复制。
    注意:通常只用当输出文件是磁盘或磁带时才有效,即备份到磁盘或磁带时才有效。
  7. count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数。
  8. conv=conversion:用指定的参数转换文件。

  • ascii:转换ebcdic为ascii
  • ebcdic:转换ascii为ebcdic
  • ibm:转换ascii为alternate ebcdic
  • block:把每一行转换为长度为cbs,不足部分用空格填充
  • unblock:使每一行的长度都为cbs,不足部分用空格填充
  • lcase:把大写字符转换为小写字符
  • ucase:把小写字符转换为大写字符
  • swab:交换输入的每对字节
  • noerror:出错时不停止
  • notrunc:不截短输出文件
  • sync:将每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐。 继续阅读

对象不支持此属性或方法: ‘Response.CharSet’

对象不支持此属性或方法: ‘Response.CharSet’给客户开发的一个web系统,本来计划是在IIS下运行,无奈客户那边的电脑操作系统IIS无论怎样都安装不了,总不能要求客户为了这个web系统重新安装操作系统吧?所以想到了NetBox。 

开发的时候都是在IIS下进行调试,然后用NetBox运行,基本上一切正常,客户使用了一段时间后,提出增加一个新的功能,于是用ajax增加了一个新功能,NetBox下运行出错,
错误提示:
运行时错误 ‘800a01b6’
对象不支持此属性或方法: ‘Response.CharSet’
———————————————————————
(百度一下,还有很多人遇到同样的错误)
Microsoft VBScript runtime error ‘800a01b6’
Object doesn’t support this property or method: ‘Response.Charset’   

检查出错代码:
Response.CharSet    =    “GB2312”  

这行代码主要是为了解决ajax用get获得数据时,中文乱码的问题。
删除这行代码后netbox正常运行,但是ajax返回的中文数据成了乱码。
说明 NetBox不支持 Response.CharSet 。

打开netbox的使用手册,依次展开:
对象参考 → Response 对象 → Response 方法
AddHeader 方法
AddHeader 方法用指定的值添加 HTML 标题。该方法常常向响应添加新的 HTTP 标题
语法
Response.AddHeader name, value
参数
name
新的标题变量的名称
value
存储在新的标题变量中的初始值
注释
为避免命名不明确,name 中不能包含任何下划线字符 (_)。ServerVariables 集合将标题中的下划线字符解释为反斜杠。例如,下面的脚本使服务器查找一个名为 MY-HEADER 的标题名。 


示例
下面这个示例使用 AddHeader 方法要求客户端使用 BASIC 验证。 


注意 前面的脚本仅通知客户端浏览器使用哪个验证。若您在 Web 应用程序中使用该脚本,则一定要启用 Web 服务器的 BASIC 验证。 

于是将

Response.CharSet    =    "GB2312"

替换成:

Response.Addheader "Content-Type","text/html; charset=gb2312"

NetBox环境下ajax用get获取数据,中文乱码的问题解决!