燕之庐网站建设 - 优质网站设计公司

Posts Tagged ‘MYSQL’

MYSQL

2010/03/05

mysql命令行常用命令

Tags:

mysql命令行常用命令

第一招、mysql服务的启动和停止

  • net stop mysql
  • net start mysql

第二招、登陆mysql

  • mysql -u用户名 -p用户密码
  • mysql -uroot -p, 回车後提示你输入密码,输入12345,然後回车即可进入到mysql中了,mysql的提示符是:

mysql> 注意,如果是连接到另外的机器上,则需要加入一个参数-h机器IP 第三招、增加新用户

  • grant 权限 on 数据库.* to 用户名@登录主机 identified by “密码”
  • 增加一个用户user1密码为password1,让其可以在本机上登录, 并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入mysql,然後键入以下命令:grant select,insert,update,delete on *.* to user1@localhost Identified by “password1″;如果希望该用户能够在任何机器上登陆mysql,则将localhost改为”%”。
  • 如果你不想user1有密码,可以再打一个命令将密码去掉。grant select,insert,update,delete on mydb.* to user1@localhost identified by “”;

第四招: 操作数据库 登录到mysql中,然後在mysql的提示符下运行下列命令,每个命令以分号结束。

  • 显示数据库列表。

show databases; 缺省有两个数据库:mysql和test。 mysql库存放着mysql的系统和用户权限信息,我们改密码和新增用户,实际上就是对这个库进行操作。

  • 显示库中的数据表:

use mysql; show tables;

  • 显示数据表的结构:

describe 表名;

  • 建库与删库:

create database 库名; drop database 库名;

  • 建表:

use 库名; create table 表名(字段列表); drop table 表名;

  • 清空表中记录:

delete from 表名;

  • 显示表中的记录:

select * from 表名;

第五招、导出和导入数据

  • 导出数据:

mysqldump –opt test > mysql.test 即将数据库test数据库导出到mysql.test文件,後者是一个文本文件 如:mysqldump -u root -p123456 –databases dbname > mysql.dbname 就是把数据库dbname导出到文件mysql.dbname中。

  • 导入数据:

mysqlimport -u root -p123456 < mysql.dbname。 不用解释了吧。

  • 将文本数据导入数据库:

文本数据的字段数据之间用tab键隔开。 use test; load data local infile “文件名” into table 表名;

SQL常用命令使用方法:

(1) 数据记录筛选:

sql=”select * from 数据表 where 字段名=字段值 order by 字段名 [desc]”

sql=”select * from 数据表 where 字段名 like ‘%字段值%’ order by 字段名 [desc]”

sql=”select top 10 * from 数据表 where 字段名 order by 字段名 [desc]”

sql=”select * from 数据表 where 字段名 in (’值1′,’值2′,’值3′)”

sql=”select * from 数据表 where 字段名 between 值1 and 值2″

(2) 更新数据记录:

sql=”update 数据表 set 字段名=字段值 where 条件表达式”

sql=”update 数据表 set 字段1=值1,字段2=值2 …… 字段n=值n where 条件表达式”

(3) 删除数据记录:

sql=”delete from 数据表 where 条件表达式”

sql=”delete from 数据表” (将数据表所有记录删除)

(4) 添加数据记录:

sql=”insert into 数据表 (字段1,字段2,字段3 …) valuess (值1,值2,值3 …)”

sql=”insert into 目标数据表 select * from 源数据表” (把源数据表的记录添加到目标数据表)

(5) 数据记录统计函数:

AVG(字段名) 得出一个表格栏平均值 COUNT(*|字段名) 对数据行数的统计或对某一栏有值的数据行数统计 MAX(字段名) 取得一个表格栏最大的值 MIN(字段名) 取得一个表格栏最小的值 SUM(字段名) 把数据栏的值相加

引用以上函数的方法:

sql=”select sum(字段名) as 别名 from 数据表 where 条件表达式” set rs=conn.excute(sql)

用 rs(”别名”) 获取统的计值,其它函数运用同上。

(6) 数据表的建立和删除:

CREATE TABLE 数据表名称(字段1 类型1(长度),字段2 类型2(长度) …… )

例:CREATE TABLE tab01(name varchar(50),datetime default now())

DROP TABLE 数据表名称 (永久性删除一个数据表)

[编辑]

MySQL批 处理命令

批处理是一种非交互式运行mysql程序的方法,如同您在mysql中使用的命令一样,你仍然将使用这些命令。

为了实现批处理,您重定向一个文件到mysql程序中,首先我们需要一个文本文件,这个文本文件包含有与我们在mysql中输入的命令相同 的文本。 比如我们要插入一些数据,使用包含下面文本的文件(文件名为New_Data.sql,当然我们也可以取名为New_Data.txt及任何其他的合法名 字,并不一定要以後缀sql结尾):

  • USE Meet_A_Geek;
  • INSERT INTO Customers (Customer_ID, Last_Name) VALUES(NULL, “Block”);
  • INSERT INTO Customers (Customer_ID, Last_Name) VALUES(NULL, “Newton”);
  • INSERT INTO Customers (Customer_ID, Last_Name) VALUES(NULL, “Simmons”);

注意上面的这些句子的语法都必须是正确的,并且每个句子以分号结束。 上面的USE命令选择数据库,INSERT命令插入数据。

下面我们要把上面的文件导入到数据库中,导入之前要确认数据库已经在运行,即是mysqld进程(或者说服务,Windows NT下面称为”服务“,unix下面为”进程“)已经在运行。 然後运行下面的命令:

  • bin/mysql –p < /home/mark/New_Data.sql

接着按提示输入密码,如果上面的文件中的语句没有错误,那么这些数据就被导入到了数据库中。

命令行中使用LOAD DATA INFILE 从文件中导入数据到数据库: 现在您可能会问自己,”究竟为什么我要输入所有的这些SQL语句到文件中,然後通过程序运行它们呢?” 这样看起来好像需要大量的工作。很好,你这样想很可能就对了。但是假如你有从所有这些命令中产生的log记录呢?现在这样就很棒,嗯,大多数数据库都会自 动产生数据库中的事件记录的log。而大部分log都包含有用过的原始的SQL命令。因此,如果您不能从您现在的数据库中导出数据到新的 mysql数据库中使用,那么您可以使用log和mysql的批处理特性,来快速且方便地导入您地数据。当然,这样就省去了打字的麻烦。

LOAD DATA INFILE 这是我们要介绍的最後一个导入数据到MySQL数据库中的方法。这个命令与mysqlimport非常相似,但这个方法可以在mysql命令行中使用。也 就是说您可以在所有使用API的程序中使用这个命令。使用这种方法,您就可以在应用程序中导入您想要导入的数据。

使用这个命令之前,mysqld进程(服务)必须已经在运行。 启动mysql命令行:

  • bin/mysql –p

按提示输入密码,成功进入mysql命令行之後,输入下面的命令:

  • USE Meet_A_Geek;
  • LOAD DATA INFILE “/home/mark/data.sql” INTO TABLE Orders;

简单的讲,这样将会把文件data.sql中的内容导入到表Orders中,如mysqlimport工具一样,这个命令也有一些可以选择的参数。 比如您需要把自己的电脑上的数据导入到远程的数据库服务器中,您可以使用下面的命令:

  • LOAD DATA LOCAL INFILE “C:\MyDocs\SQL.txt” INTO TABLE Orders;

上面的LOCAL参数表示文件是本地的文件,服务器是您所登陆的服务器。 这样就省去了使用ftp来上传文件到服务器,MySQL替你完成了. 您也可以设置插入语句的优先级,如果您要把它标记为低优先级(LOW_PRIORITY),那么MySQL将会等到没有其他人读这个表的时候,才把插入数 据。可以使用如下的命令:

  • LOAD DATA LOW_PRIORITY INFILE “/home/mark/data.sql” INTO TABLE Orders;

您也可以指定是否在插入数据的时候,取代或者忽略文件与数据表中重复的键值。替代重复的键值的语法:

  • LOAD DATA LOW_PRIORITY INFILE “/home/mark/data.sql” REPLACE INTO TABLE Orders;

上面的句子看起来有点笨拙,但却把关键字放在了让您的剖析器可以理解的地方。

下面的一对选项描述了文件的记录格式,这些选项也是在mysqlimport工具中可以用的。他们在这里看起来有点不同。首先,要用到 FIELDS关键字,如果用到这个关键字,MySQL剖析器希望看到至少有下面的一个选项:

  • TERMINATED BY character
  • ENCLOSED BY character
  • ESCAPED BY character

这些关键字与它们的参数跟mysqlimport中的用法是一样的. The TERMINATED BY 描述字段的分隔符,默认情况下是tab字符(\t) ENCLOSED BY描述的是字段的括起字符。比方以引号括起每一个字段。 ESCAPED BY 描述的转义字符。默认的是反些杠(backslash:\ ). 下面仍然使用前面的mysqlimport命令的例子,用LOAD DATA INFILE语句把同样的文件导入到数据库中:

  • LOAD DATA INFILE “/home/mark/Orders.txt” REPLACE INTO TABLE Orders FIELDS TERMINATED BY ‘,’ ENCLOSED BY ‘”‘;

LOAD DATA INFILE语句中有一个mysqlimport工具中没有特点:

     LOAD DATA INFILE 可以按指定的列把文件导入到数据库中。

当我们要把数据的一部分内容导入的时候,这个特点就很重要。比方说,我们要从Access数据库升级到MySQL数据库的时候,需要加入一些栏目 (列/字段/field)到MySQL数据库中,以适应一些额外的需要。 这个时候,我们的Access数据库中的数据仍然是可用的,但是因为这些数据的栏目(field)与MySQL中的不再匹配,因此而无法再使用 mysqlimport工具。尽管如此,我们仍然可以使用LOAD DATA INFILE,下面的例子显示了如何向指定的栏目(field)中导入数据:

  • LOAD DATA INFILE “/home/Order.txt” INTO TABLE Orders(Order_Number, Order_Date, Customer_ID);

如您所见,我们可以指定需要的栏目(fields)。这些指定的字段依然是以括号括起,由逗号分隔的,如果您遗漏了其中任何一个,MySQL将会提 醒您^_^
ubuntu 下的 mysql 命令行方式。把 blue.sql 下载下来,运行

 (sudo) mysql
 create database XXXX;
 use XXXX;
 source blue.sql

北京网站建设公司

MYSQL

2010/01/29

MySQL 5.5.1 M2 发布

Tags:

该版本主要改进:

1. 增加了半同步复制接口的支持
2. 支持SQL标准中的 SIGNAL 和 RESIGNAL 语句
3. 增强的XML功能
4. 新增两种用户定义分区的类型
5. 允许删除某个表在某个分区中的所有数据
6. 主键缓存支持存放在分区中的 MyISAM 表
7. 新增 TO_SECONDS 函数

下载地址: http://dev.mysql.com/downloads/

网站建设

php

2009/11/21

又一关于apache和mysql组合的问题

Tags: ,

是关于Mysql扩展库的问题

可能是环境配的不对吧?但不知道到底怎么样能支持Mysql扩展库.
在百度上找到的方法都试过了,还是不行.

请各位大大伸出缓手~

Unexpected character in input: ‘\’ (ASCII=92) state=1 in

php, 产业新闻

2009/11/19

MySQL 5.1.41 发布

Tags:

该版本对 InnoDB 存储引擎做了一些改进,例如增加了参数用来调整 LRU 算法,同时这两个参数也将在 SHOW STATUS 命令中显示状态。同时还包括其他的一些bugfix 和安全补丁。

产业新闻

2009/11/18

最影响开源的4个人,MySQL CEO上榜

Tags:

1998年2月8日,布鲁斯裴伦斯(Bruce Perens)发表了著名的Open Source Definition(开源定义),开启了轰轰烈烈的开源运动。十多年后的今天,开源软件行业依旧保持着迅猛的发展势头。从红帽到MySQL,开源渗透到软件行业的方方面面,从完全免费的开放平台到核心功能收费的企业级应用,开源软件行业正在向商业化大步前进。在浩荡的开源大军中,谁是开源软件行业最有影响力的人?

最近,企业级的维基协作门户MindTouch面向欧洲和北美的开源企业执行官级别的高层官员做了一项调查:谁是开源行业中最有影响力的人?从行业内部人士的投票结果来看,排名在前4位的分别是SugarCRM的CEO 拉里奥古斯丁(Larry Augustin)、开源商业战略家马特阿塞(Matt Asay)、MySQL AB前执行官马丁古斯塔夫米科斯(Marten Gustaf Mickos)以及红帽CEO詹姆斯卫赫特(James Whitehurst)。

拉里奥古斯丁:开源要创造下一代软件

开源软件公司SugarCRM的CEO拉里奥古斯丁对开源行业所做出的贡献有目共睹。作为世界领先的商业开源客户关系管理软件,SugarCRM的开源结构可充分定制,提供按需租赁方式。在商业开源模式下,开发人员、客户和合作伙伴可以下载并检查源代码。现在,Sugar Community Edition以及相关产品的下载次数已突破500万次大关,社区注册会员人数超过8万名,其中有超过1?郾4万名的程序开发员在SugarCRM的社区网站sugarforge上创建了超过500个扩展模块以及75种语言包。

拉 里多次强调开源对于企业软件的重要性。在今年8月的一次访谈中,拉里表示:开源重新开发了企业软件的空间。一些希望拥有自己的解决方案和生态系统的大公司 正在出现,这将增加创业型企业的机会,而开源将在这一领域扮演重要角色。更多的项目开始为中小企业提供企业软件,而互联网将使中小企业的市场延伸至全球各 地。

拉里的另一项成就是创立了VA Linux,即SourceForge的前身。SourceForge公司不久前收购了开源社区Ohloh,而该社区的主要投资人正是拉里。在2007年召开的开源中国,开源世界高峰论坛圆桌会议上,拉里指出:开源并非是对软件的简单复制,而是以一种更好、创新的方式出现。人们选择Office、Linux更好地完成工作是自由竞争的结果,而不是像微软那样垄断的结果。在SourceForge平台上,拥有100多万个开发人员的11万个开源软件项目在孕育之中,微软也在SourceForge的平台上参与7万个开源软件项目的开发。开源的目的是要创造下一代软件,从根本上改变人们的工作方式和软件的创新方式。

马特阿塞:开源商机无限

马特阿塞是Alfresco的销售和商业开发主管,同时也是CNET网站的专栏作家。

阿塞是开源商业化的拥护者,他认为开源商业化正愈发充满生机。在最近一次关于开源商业化趋势的会议上,阿塞指出:目前的问题在于接受开源后,如何最大化挖掘开源的商业价值。用户正在意识到,他们可以在开源项目中投入更少的资金而获取更大的收益。

金 融危机让互联网、计算机软件行业遭受了巨大冲击,对开源软件行业持悲观论调者也不在少数,但阿塞却对开源行业的发展充满信心。阿塞认为,开源软件与专有软 件最大的区别是成本。在财政支出不断减少的情况下,如何确保工程项目继续进行?开源软件给出了答案。在经济形势非常严峻的情况下,那些企业级的开源厂商, 如红帽、Mozilla等的软件一直都具备更好、更可靠的性能。

阿塞所在的Alfresco公司也有良好表现。即使是在危机横行,大批企业倒闭的时候,Alfresco的销售业绩也一路飙升。在阿塞看来,几乎每家开源软件公司都存在着一个共同点在经济下滑时销售上涨。

今年3月在旧金山召开的开源商业会议上,阿塞提出:经济不景气时,通常会看到企业有追逐价值的举动。一些很好的开源项目都会以更低的成本提供更卓越的技术。因此,在经济低迷时期,开源软件实际上会获得较大发展的机会。在企业的IT预算缩减的时候,我们常会看到涉足开源项目的大量尝试性举动,一旦经济复苏,开源项目就能收获丰硕的果实。

另外,阿塞也是开源软件付费的支持者。开源软件的商业化,正是开源行业发展的必然趋势,而付费则是一个重要途径。

马丁古斯塔夫米科斯:开源的SQL

米 科斯拥有芬兰赫尔辛基工业大学(Helsinki University of Technology)的技术物理学(Technical Physics)硕士学位。2001年1月至2008年2月期间,他担任MySQL的首席执行官,同时还是Mozilla Messaging和RightScale的董事会成员。

作为一个小型关系数据库系统,目前MySQL被广泛地应用在互联网上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择MySQL作为网站数据库。

2008年1月16日,Sun宣布以10亿美元收购MySQL。不久前,甲骨文又以74亿美元的代价,将Sun纳入麾下。米科斯曾经强烈要求欧盟委员会批准甲骨文收购Sun及其MySQL数据库部门的交易。可以说,米科斯在甲骨文收购Sun的过程中发挥了重要作用。

而对新版的MySQL部分功能采取收费的做法,米科斯表示:做这种改变的目的是为了确保MySQL可以有一个可行的产生收入的业务,这些最初只对付费用户提供的功能最终也将免费提供给开源社区。

詹姆斯卫赫特:国际金融危机是开源的机遇

去年1月,当詹姆斯卫赫特出人意料地当选为红帽CEO的时候,大家还对他有所担心。但时至今日,红帽的茁壮成长肯定了卫赫特上任以来的成绩。

担 任红帽CEO后,他力促与IBM合作,开发免费操作系统对抗微软。在谈到与IBM合作得到的收获时,卫赫特表示:开源运动将会继续发展,共享软件也将替代 私有的、封闭的软件。开源是一个更基础、更高级的开发模式,因此开发者会以更低的价格、更快的速度进行软件开发。用不了多久,开源将会占据整个软件行业。

对于经济危机对开源行业的影响,卫赫特也有自己的看法。去年在访问澳大利亚期间,卫赫特曾表示:持续不断的国际金融危机将给开源软件提供非常好的机遇,开源软件可能因此得到长足发展。全球性的金融危机导致人们不得不减少开支,而开源软件是他们最好的选择。

在今年8月举行的红帽开源云计算大会上,卫赫特指出:开源是一种已经流行了多年的软件模式,其先进性已经接受了众多企业的检验,而云计算技术是当今最为热门的信息技术,代表了信息技术的未来发展方向。开源与云计算是双胞胎。在云计算和开源的基础上,商业活动的成本更低而且更加灵活。

卫赫特对开源和云计算的看法指出了今后开源软件的发展方向。

还有很多的领袖级人物对开源行业做出了巨大贡献。可以说,开源行业为软件产业的发展开辟了一个崭新的空间,每个人都能从中获益,让我们的软件更有个性,使我们的商业活动成本更低。

网站建设公司

php

2009/11/13

apache的静态/动态编译在apache+php+mysql+gd中的应用

Tags: , , ,

apache1.3和apache2的静态/动态编译在apache+php+mysql+GD中的应用

版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明

本文是在张微波的文章基础上改进而来,原始文章请见:
http://www.5ilinux.com/blog/archives/000010.html

Fedora Core 3服务器中的apache的静态/动态编译以及apache+php+mysql+gd的应用

我想大家有不少都成功实现apache+php+mysql+gd,网上的文章也有不少,但我发现不少文章都是抄来抄去,并且没有说明白编译的方式,有的索性apache1.3的编译方法原封不动的搬过来套在apache2.0,显然误导一些菜鸟。

我今天就以apache+mysql+php说一下静态编译和DSO动态编译的区别,我会分别拿apache1.3.27和apache2.0.46

说明,因为两个版本的编译命令是有所区别的。

系统和所需软件:
Redhat9.0
apache:1.3.27 和 2.0.46
php: 4.3.2
mysql:4.0.13

gd-2.0.33.tar.gzhttp://www.boutell.com/gd/
jpegsrc.v6b.tar.gzhttp://www.ijg.org/
libpng-1.2.7.tar.tarhttp://sourceforge.net/projects/libpng/
zlib-1.2.2.tar.gzhttp://sourceforge.net/projects/zlib/
freetype-2.1.9.tar.gzhttp://sourceforge.net/projects/freetype/

首先来安装mysql

先添加用户:
groupadd mysql
useradd mysql

然后编译mysql

tar zvxf mysql-4.0.13.tar.gz
cd mysql-4.0.13
./configure –prefix=/usr/local/mysql –with-zlib-dir=/usr –with-charset=gbk –sysconfdir=/etc –localstatedir=/var/mysql &&
make &&
make install

安装完成!(注:–with-charset=gbk是使mysql支持中文查询)

然后初始化数据库:

/usr/local/mysql/bin/mysql_install_db

设置权限:

chown -R root.mysql /usr/local/mysql
chown -R mysql.mysql /var/mysql

复制配置文件:

cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf

复制启动文件:

cp /usr/local/mysql/share/mysql/mysql.server /usr/local/mysql/share/mysql/mysqld
chmod a+x /usr/local/mysql/share/mysql/mysqld

启动mysql:

/usr/local/mysql/share/mysql/mysqld start

修改密码:初始的root密码是空的

/usr/local/mysql/bin/mysqladmin -u root -p password 1234
enter password:

把密码修改为1234,由于初始密码为空,所以enter password直接回车就行

测试一下新的密码:

mysql -u root -p mysql
enter password:1234

如果顺利的话就能进入mysql。

好了mysql就讲这么多,有什么问题也不要问我,我对mysql不是很熟悉。

然后安装gd

最新的GD库包括了对GIF的支持,所以不要打GIF补丁

http://sourceforge.net/ 好多源代码包可以在上面找到

安装步骤:

先安装zlib,freetype,libpng,jpeg,再装GD

1.装zlib

tar zxvf zlib-1.2.2.tar.gz
cd zlib-1.2.2
./configure
make
make install

2.安装libpng

tar zxvf libpng-1.2.7.tar.tar
cd libpng-1.2.7
cd scripts/
mv makefile.linux ../makefile
cd ..
make
make install
注意,这里的makefile不是用./configure生成,而是直接从scripts/里拷一个

3.安装freetype

tar zxvf freetype-2.1.9.tar.gz
cd freetype-2.1.9
./configure
make
make install

4.安装Jpeg

tar zxvf jpegsrc.v6b.tar.gz
cd jpeg-6b/
./configure –enable-shared
make
make test
make install
注意,这里configure一定要带–enable-shared参数,不然,不会生成共享库

5.安装GD

tar zxvf gd-2.0.33.tar.gz
cd gd-2.0.33
./configure –with-png –with-freetype –with-jpeg
make install

好了下面是我们的重头戏,我将分别通过静态和动态DSO编译apache+php

至于什么是静态,什么是DSO动态我这里就不多讲了,本人个人倾向大家用DSO动态编译。

首先是apache1.3.29+php4.3.4的静态编译

apache第一次编译,并不要安装,因为php的编译需要apache至少已经编译过一次
tar zvxf apache_1.3.27.tar.gz
cd apache_1.3.27
./configure –prefix=/usr/local/apache

编译php

tar zvxf php4.3.4.tar.gz
cd php4.3.4
./configure –prefix=/usr/local/php –with-mysql=/usr/local/mysql
–with-apache=../apache_1.3.27 –enable-bcmath –with-zlib –with-gd –with-jpeg-dir –enable-gd-native-ttf –with-ttf –with-freetype-dir –enable-memory-limit –enable-zend-multibyte –disable-ipv6 –disable-path-info-check –with-iconv –with-pear –disable-debug &&
make &&
make install

第二次编译安装apache:
cd ../apache_1.3.29
./configure –prefi=/usr/local/apache –activate-module=src/modules/php4/libphp4.a –enable-module=rewrite &&
make &&
make install

cp ../php4.3.4/php.ini.dist /usr/local/php/lib/php.ini

修改/usr/local/apache/conf/httpd.conf

查找

在此范围添加

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

注意:apache和php的源码包在同一个目录,–with-apache=../apache_1.3.27是指向源码解压的目录

ok!静态编译完成,大家只要启动一下服务器
/usr/local/apache/bin/apachectl start

然后些个php测试页info.php:内容如下

<?php
phpinfo();
?>
正常的话,应该能看到php的信息了,恭喜你静态编译成功!!!

我们再来讲讲DSO动态编译的方法:

首先编译安装apache

tar zvxf apache_1.3.29
cd apache_1.3.29
./configure –prefix=/usr/local/apache –enable-module=so
–enable-module=rewrite –enable-shared=max &&
make &&
make install

so模块用来提供DSO支持的apachehe核心模块,rewrite是地址重写的模块,如果不需要可以不编译
enable-shared=max是指除了so以外的所有标准模块都编译成DSO模块。

然后编译php

tar zvxf php4.3.4.tar.gz
cd php4.3.2
./configure –prefix=/usr/local/php –with-mysql=/usr/local/mysql
–with-apache=../apache_1.3.27 –enable-bcmath –with-zlib –with-gd –with-jpeg-dir –enable-gd-native-ttf –with-ttf –with-freetype-dir –enable-memory-limit –enable-zend-multibyte –disable-ipv6 –disable-path-info-check –with-iconv –with-pear –disable-debug –with-apxs=/usr/local/apache/bin/apxs &&
make &&
make install

然后修改httpd.conf,方法同静态编译的方法

OK,DSO动态编译就完成了,大家应该看出明堂来了吧,中间有什么区别应该看的很清楚了吧!!!

接下来我们讲apache2.0.46+php4.3.2的编译方法,我这里只讲DSO动态编译,静态编译目前好像还不支持。

一样现编译安装apache

tar zvxf httpd-2.0.46.tar.gz

cd httpd-2.0.46

./configure –prefix=/usr/local/apache2 –enable-so
–enable-mods-shared=most &&
make &&
make install

大家注意了–enable-so相当与1.3.27的–enable-module=so,而–enable-mods-shared=most又等同与以前的
–enable-shared=max 这些区别大家要注意了,否则编译错了不要找我

然后还是编译PHP

tar zvxf php4.3.2.tar.gz

./configure –with-apache2=../httpd-2.0.52 –with-mysql=/usr/local/mysql –enable-bcmath –with-zlib –with-gd –with-jpeg-dir –enable-gd-native-ttf –with-ttf –with-freetype-dir –enable-memory-limit –enable-zend-multibyte –disable-ipv6 –disable-path-info-check –with-iconv –with-pear –disable-debug –with-apxs2=/usr/local/apache2/bin/apxs &&
make &&
make install

注意这里是apxs2!!!

修改httpd.conf与1.3.27也有所不同,大家寻找Add Type application/x-tar .tgz 在下面添加

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

另外要显示中文的话,
修改:

AddDefaultCharset gb2312

启动一下apache

/usr/local/apache2/bin/apachectl start

用那个info.php测试一下,应该不会有多大问题哦!!!

好了写了这么多,希望对大家有所帮助!!!

php, 开源动态

2009/11/11

开源数据库将进入战国时代,新领袖呼之欲出

Tags: , ,

MySQL被称为是“最受欢迎的开源数据库”,如今,它的命运却取决于Oracle与Sun并购案的结果。有消息说,正在调查该交易的欧盟委员会将在11月19日做出是否批准该交易的决定。2008年2月被Sun以10亿美元收购的MySQL,前路仍然难料。

有意思的是,10月27日,Red Hat宣布以1900万美元注资开源数据库厂商—EnterpriseDB。消息一出,立刻被业界解读为Red Hat另辟蹊径发展开源数据库,不想以后受制于Oracle和MySQL。

如果MySQL的大旗倒下了,众多力量分散且弱小的开源数据库将展开激烈的争夺,开源数据库市场也许将进入春秋战国时期,而谁又会是下一个市场领袖呢?

“标杆”MySQL

在几百亿美元规模的数据库市场中,开源数据库的份额微乎其微。以IDC 2007年对全球数据库市场的统计为例,在总共188亿美元的市场中,Oracle、IBM、微软位列前三位,合计市场份额达到83.8%,而MySQL 以3800万美元的收入占到0.2%。Gartner预计,2013年开源数据库市场将突破10亿美元,但与整个数据库市场相比,依然小得可怜。

不过,开源数据库却展示出了高成长性。Gartner数据显示,2008年开源数据库的收入增长了42.4%,开源数据库的使用增长了50%,被调查的企业中,73%正在使用开源数据库,相比上年的49%有很大增长。

在这个不大的市场上,MySQL有着重要的地位。中国开源软件推进联盟主席陆首群表示,MySQL、PostgreSQL、EnterpriseDB是全球三大开源数据库。MySQL既是一个开源的开发社区,提供自由下载使用的免费版本,也提供商品化的产品,收取技术支持服务费用。

数 据显示,截至2009年1月,MySQL的用户有1100万,谷歌、雅虎和亚马逊等许多互联网公司都是它的用户。被Sun收购之后,MySQL先后开发出 MySQL5.0、MySQL enterprise等新产品,在MySQL5.1对外开放的头10天内,下载次数就超过了25万次。

陆首群表示,MySQL在中国市场也有不错的销售业绩。2007年,华为、爱立信中国、西门子中国等大企业都采购了MySQL的产品。2008年,MySQL又获得了新浪等公司的青睐,当年在中国市场的销售额达到1500万元,估计今年的收入将超过2000万元。

因 此,MySQL的一举一动都是开源数据库市场的风向标。如今,它的前途因为Oracle与Sun并购的悬而未决而飘忽不定。尽管Oracle承诺会保持 MySQL的独立性,众多反对者还是担心,如果MySQL被最大的私有数据库厂商Oracle收归麾下,可能遭到Oracle的抛弃甚至打压。

MySQL前途难料

最近几年,在开源大势之下,Oracle、IBM、微软等已经纷纷向开源伸出了橄榄枝。“IBM和Oracle既有商业数据库,也有开源数据库,采取了两手发展的策略,问题只是什么时候从幕后走到台前罢了。”陆首群说。

不过,这些“大佬”虽然打出了开源的旗号,但他们离真正的开源还有很远的距离。这也是业界担忧MySQL的前景、强烈建议Oracle将MySQL出售给独立第三方的原因。

开放源代码软件社区领袖Richard Stallman在给欧盟委员会的信中表示,“如果Oracle是今日旧数据库市场的统治者,MySQL就是未来新兴数据库市场的主导者,MySQL可以被视为Oracle未来最重要的竞争对手。”

因此,一旦MySQL被Oracle所合并,Oracle不仅没有义务积极推销MySQL,或以合理价格提供其商业授权,更没义务拿自己的营收来改进MySQL。面对商业数据库软件与开源数据库之间的利益冲突,恐怕Oracle会优先保护其收费的数据库产品。

曾是MySQL股东和顾问的Florian Mueller表示,“让Oracle得到MySQL比让狐狸负责鸡舍更可怕,因为母鸡没有对狐狸构成威胁,而MySQL却让Oracle丢失客户,并不得不给一些因威胁可能离开的客户以折扣。”

Mueller 反对Oracle得到MySQL,他认为目前的事实表明,Oracle只是想借此摆脱自己的开源挑战者。Stallman也表示,MySQL被 Oracle合并将是一种倒退,可能会瓦解MySQL的核心开发者社群。而产生另一个足以与MySQL相提并论的数据库平台,恐怕还需要很多年的时间。

谁是下一个领袖?

“多 年来PostgreSQL一直活在MySQL的阴影下,现在也许是它大放异彩的时候了。过去,公司花费了太多的时间讨论与MySQL的竞争,以及如何从 Oracle移植过来。在刚刚发布Postgres 8.4数据库时,EnterpriseDB没有提及任何竞争对手,这是一个可喜的变化。”CNET网站的一篇文章说。

对Red Hat来说,注资EnterpriseDB是一笔不错的买卖。“Red Hat是一个开源比较全面的公司,既有Linux操作系统,又通过并购Jboss得到了开源中间件,这次又获得了开源数据库,开源产品线不断完善。”陆首群说。目前,很多企业在应用开源数据库的同时也使用开源操作系统,反映了市场需要的变化。

EnterpriseDB 在最近几年异军突起,成为支持和推动PostgreSQL发展的领先厂商。PostgreSQL一直是开源数据库市场的柱石,被称为“最先进的开源数据 库”。2008年3月,EnterpriseDB获得了新一轮总额达1000万美元的投资,其中就有IBM的参与。当时的文章显 示,EnterpriseDB拥有超过200家客户,预计2008年度实现盈利。

2007年7月,EnterpriseDB携带EnterpriseDB Advanced Server产品正式进军中国市场。资料显示,许多为Oracle设计的应用软件无需修改即可移植到EnterpriseDB上,也可以轻松地从 Microsoft SQL Server、MySQL和Sybase数据库移植过来。

陆首群认为,除了以IBM为首的J2EE、以微软为首的.Net架构外,由开源软件形成的LAMP(Linux、Apache、MySQL、PHP)架构正在蓬勃发展,成为三大IT架构之一。有了这样的架构,开源厂商可以为用户提供完整的解决方案,而开源数据库是其中不可或缺的一个部分。

“近日,美国的白宫网站完全采用了LAMP架构,美国国防部等机构也对安全性高、成本低、灵活性好的开源软件表示出了极大的兴趣。美国还出现了WAMP的混源架构,即在Windows操作系统的基础上,采用开源的中间件、数据库等。”陆首群表示。在市场需求不断释放的刺激下,越来越多的厂商开始挖掘开源的市场机会,新的开源数据库领袖正在形成。

产业新闻

2009/11/10

MySQL修改密码方法总结

Tags:

首先要声明一点,大部分情况下,修改MySQL是需要有mysql里的root权限的, 所以一般用户无法更改密码,除非请求管理员。

方法一使用phpmyadmin,这是最简单的了,修改mysql库的user表, 不过别忘了使用PASSWORD函数

方法二使用mysqladmin,这是前面声明的一个特例。 mysqladmin -u root -p password mypasswd 输入这个命令后,需要输入root的原密码,然后root的密码将改为mypasswd。把命令里的root改为你的用户名,你就可以改你自己的密码了。 当然如果你的mysqladmin连接不上mysqlserver,或者你没有办法执行mysqladmin, 那么这种方法就是无效的。 而且mysqladmin无法把密码清空。下面的方法都在mysql提示符下使用,且必须有mysql的root权限:

方法三 mysql> INSERT INTO mysql.user (Host,User,Password) VALUES(’%',’jeffrey’,PASSWORD(’biscuit’)); mysql> FLUSHPRIVILEGES确切地说这是在增加一个用户,用户名为jeffrey,密码为biscuit。 在《mysql中文参考手册》里有这个例子,所以我也就写出来了。注意要使用PASSWORD函数,然后还要使用FLUSH PRIVILEGES。

方法四 和方法三一样,只是使用了REPLACE语句 mysql> REPLACE INTO mysql.user (Host,User,Password) VALUES(’%',’jeffrey’,PASSWORD(’biscuit’)); mysql> FLUSH PRIVILEGES

方法五 使用SETPASSWORD语句, mysql> SET PASSWORD FOR jeffrey@”%” = PASSWORD(’biscuit’); 你也必须使用PASSWORD()函数, 但是不需要使用FLUSH PRIVILEGES。

方法六使用GRANT … IDENTIFIED BY语句 mysql> GRANT USAGE ON *.* TO jeffrey@”%” IDENTIFIED BY ‘biscuit’; 这里PASSWORD()函数是不必要的,也不需要使用FLUSH PRIVILEGES。注意: PASSWORD() [不是]以在Unix口令加密的同样方法施行口令加密。

产业新闻

欧盟反对甲骨文收购Sun遭甲骨文强烈抗议

Tags: , ,

甲骨文在一份声明中称:“在8家销售差异化产品的公司中,欧盟反对其中两家公司合并是没有法律依据的。这类并购经常发生,几十年来从未被美国和欧洲监管机构中禁止过。”

北京时间11月10日消息,据国外媒体报道,甲骨文周一晚些时候称,对欧盟针对甲骨文与Sun的并购交易提出的反对声明(Statement of Objections)表示强烈抗议,声称欧盟并没有确凿证据证明该并购交易不利于竞争。

甲骨文在一份声明中称:“在8家销售差异化产品的公司中,欧盟反对其中两家公司合并是没有法律依据的。这类并购经常发生,几十年来从未被美国和欧洲监管机构中禁止过。”

甲骨文还表示,与Sun的并购对高端服务器市场的竞争至关重要。

欧盟反对甲骨文收购Sun 称不利于市场竞争

据国外媒体报道,欧盟委员会对软件公司甲骨文收购电脑制造商Sun微系统公司表示反对,称此项收购不利于市场竞争,从而使得这项价值70亿美元的收购案受阻。

Sun在提交给美国证券交易委员会的申报文件中说,欧盟委员会周一表示,Sun的MySQL数据库产品和甲骨文的产品相结合可能会危害数据库市场的竞争。

甲骨文称,欧盟委员会反对这项收购案是对这项收购案的重大误解,甲骨文不接受欧盟委员会的这项决定,将积极进行申诉。

甲骨文首席执行官拉里-埃里森(Larry Ellison)最近还表示,由于欧洲反垄断监管机构打算对这项交易进行深入调查,使得Sun的未来变得扑朔迷离,导致Sun每月出现高达近1亿美元的损失。

美司法部明确表态:甲骨文Sun交易不妨碍竞争

据国外媒体报道,美国司法部反垄断局周一表示,甲骨文收购Sun并不妨碍竞争,可以为用户提供更多数据库产品的选择权。其立场与欧盟立场相左。

甲骨文收购Sun的交易已在美国获准,但在欧洲却遭遇更大阻碍。

美国司法部反垄断局检察长莫利-波斯特(Molly Boast)在一份声明中表示:“我们希望甲骨文和Sun能与欧盟委员会尽快达成可使欧洲用户从中受益的协议。”

欧盟委员会曾反对甲骨文收购Sun的交易,认为该交易将妨碍竞争而对其提出质疑。欧盟委员会周一表示,整合Sun的MySQL与甲骨文数据库产品将不利于数据库市场的竞争,Sun在递交给美国证券交易委员会(SEC)的文件中披露了这一情况。

甲骨文称欧盟反对该交易表明其对该交易存在很深的误解,将强烈抗议欧盟的反对声明(Statement of Objections)。

产业新闻

Oracle并购SUN应放松对MySQL控制

Tags: , ,

据美国《商业周刊》报道,在甲骨文并购SUN的交易看似顺利的时候,欧盟很可能将要求甲骨文放弃对SUN开源软件MySQL的控制权。SUN在2008年以10亿美元收购了MySQL。

4月,甲骨文宣布将以74亿美元并购SUN。这次并购是甲骨文成为一家全套服务提供商计划的其中一部分,甲骨文希望未来能够提供公司运营其计算机系统所需的一切,包括芯片、运行系统、数据以及商业项目等。不过,现在,这项庞大的计划需要些小的变动。

为了减轻来自欧盟委员会的压力,甲骨文可能被迫放弃这次交易中重要环节的控制:Sun公司的开源数据软件MySQL。欧盟希望甲骨文确保此次并购不会阻碍数据库市场的竞争。

艰难的处境

很多互联网领域的著名公司都使用免费的MySQL,例如Twitter, Facebook以及谷歌和雅虎。一位不愿透露姓名的证券分析师认为,“甲骨文正处于一种坚难的处境,因为10年时间里很可能出现甲骨文的最大竞争者。”

据媒体报道,自从9月欧盟宣布介入并进行并购调查之后,欧盟正准备拿出正式的证据反对甲骨文对SUN的并购。欧盟委员会可能会要求甲骨文放弃对MySQL新版本的控制,来维持整个市场的竞争。甲骨文拒绝对此进行评价。

由于MySQL基于开源许可协议,让用户免费修改编码。谷歌、亚马逊以及一个叫做Drizzle的软件项目组都和SUN的工作人员一起修改数据库或者共同开发一款商业产品而无需经过SUN的允许。例如,亚马逊在10月27日宣布,消费者可以在网上向亚马逊租用MySQL数据,按其储存数据量付费。谷歌也开发了其自身版本的MySQL。

欧盟的立场

一位熟悉欧盟行为模式的行业管理者表示,“补救方法就在这里。”他认为,控制新版本软件对交易的批准以及MySQL的使用毫无益处。MySQL对运行大型网络在速度和适用性上具有优势。

不管欧盟是否要求甲骨文进行上述妥协,甲骨文的竞争对手都认为此次并购最终将会达成。一位甲骨文的竞争对手表示,“欧盟正在做他们经常做的事情,那就是宣扬煽动性的论调。”分析师认为,欧盟只是希望将自己置于提倡科技开放而非私有的位置。

Gartner数据显示,甲骨文在数据库软件领域拥有领先位置,2008年甲骨文拥有49%市场份额,当年全球数据库软件市场容量为188亿美元。IBM市场份额为22%,微软为16.6%,而MySQL占据0.5%的销售份额,也为SUN贡献一小部分收入。在6月30日结束的2009年财政年度里,MySQL和SUN中间件业务创造了3.13亿美元销售额,SUN公司销售总额为114.4亿美元。

MySQL对于甲骨文意义重大并不是因为其带来的收入。这个数据库让那些不愿使用甲骨文强大的也更加昂贵的11g数据库产品的互联网公司最终成为甲骨文的客户。据SUN估计有1200万个MySQL版本正在使用。ISI Group投资公司技术研究总裁Bill Whyman表示,“对于甲骨文这样级别的公司,MySQL带来的财务价值不值得一提。”

欧盟委员会关心的是,如果甲骨文并购SUN,甲骨文将拥有这个领先的开源数据库。9月3日欧盟第一次提出对SUN并购案的担心,欧盟表示希望确保甲骨文 承诺继续发展MySQL。10月欧盟反垄断委员尼莉·克洛斯(Neelie Kroes)与甲骨文总裁塞弗拉·卡茨(Safra Catz)进行了会面。

Java是甲骨文商业应用Fusion重要的一部分。欧盟反对这项交易是因为甲骨文在过去5年里花300亿美元收购了近60家公司。而美国公平交易部门已经同意了这项并购交易。

甲骨文不能等到欧盟宣布反对并购交易后再作出反应。1月19日前欧盟会做出最终决定,是否同意此次交易。

然而这项交易的延长影响了对SUN的价值判断。SUN截至9月27日为止的第一季度财政收入下降了25%至22.4亿美元。SUN股价当天下降了 1.6%,每股8.10美元,而甲骨文4月提出收购申请时SUN股价为9.5美元。甲骨文总裁拉里·埃里森(Larry Ellison)9月表示,交易延长的1个月期间,SUN损失了1亿美元。

10月20日,SUN表示计划在未来一年内裁员3000人,占全部员工的10%。拉里·埃里森表示“并购拖延的时间越长,SUN损失的钱越多。”埃里森不同意分拆MySQL。

这不是欧盟第一次试图阻止美国公司的并购。2001年通用电气(GE)提出以420亿美元并购霍尼韦尔(Honeywell)公司,欧盟裁定并购交易将阻碍航空业的竞争。

此前,埃里森已经成功说服了交易阻碍者,他态度坚决,希望完成交易。竞购与公平交易部门的长时间斗争后,2005年甲骨文成功收购了商业软件制造商PeopleSoft。2008年甲骨文又收购了BEA公司,并成功地压制了BEA股东提出的高昂价格。