存档

‘DB’ 分类的存档

Centos6 yum安装MariaDB

2014年9月18日 没有评论

MaiaDB介绍

MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。

MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB(名称代号为Aria)来代替MySQL的InnoDB。

阅读全文…

分类: DB, Mariadb, Mysql 标签: ,

关系数据库还是NoSQL数据库

2011年7月4日 没有评论

转载:http://www.infoq.com/cn/news/2011/01/relation-db-nosql-db

作者 孙立 发布于 2011年1月22日

上一篇简单的说明了为什么要使用NoSQL。接下来我们看下如何把NoSQL引入到我们的项目中,我们到底要不要把NoSQL引入到项目中。

在过去,我们只需要学习和使用一种数据库技术,就能做几乎所有的数据库应用开发。因为成熟稳定的关系数据库产品并不是很多,而供你选择的免费版本就 更加少了,所以互联网领域基本上都选择了免费的MySQL数据库。在高速发展的WEB2.0时代,我们发现关系数据库在性能、扩展性、数据的快速备份和恢 复、满足需求的易用性上并不总是能很好的满足我们的需要,我们越来越趋向于根据业务场景选择合适的数据库,以及进行多种数据库的融合运用。几年前的一篇文 章《One Size Fits All – An Idea Whose Time Has Come and Gone》就已经阐述了这个观点。

当我们在讨论是否要使用NoSQL的时候,你还需要理解NoSQL也是分很多种类的,在NoSQL百花齐放的今天,NoSQL的正确选择比选择关系数据库还具有挑战性。虽然NoSQL的使用很简单,但是选择却是个麻烦事,这也正是很多人在观望的一个原因。

NoSQL的分类

NoSQL仅仅是一个概念,NoSQL数据库根据数据的存储模型和特点分为很多种类。

类型 部分代表 特点
列存储 Hbase 

Cassandra

Hypertable

顾名思义,是按列存储数据的。最大的特点是方便存储结构化和半结构化数据,方便做数据压缩,对针对某一列或者某几列的查询有非常大的IO优势。
文档存储 MongoDB 

CouchDB

文档存储一般用类似json的格式存储,存储的内容是文档型的。这样也就有有机会对某些字段建立索引,实现关系数据库的某些功能。
key-value存储 Tokyo Cabinet / Tyrant 

Berkeley DB

MemcacheDB

Redis

可以通过key快速查询到其value。一般来说,存储不管value的格式,照单全收。(Redis包含了其他功能)
图存储 Neo4J 

FlockDB

图形关系的最佳存储。使用传统关系数据库来解决的话性能低下,而且设计使用不方便。
对象存储 db4o 

Versant

通过类似面向对象语言的语法操作数据库,通过对象的方式存取数据。
xml数据库 Berkeley DB XML 

BaseX

高效的存储XML数据,并支持XML的内部查询语法,比如XQuery,Xpath。

以上NoSQL数据库类型的划分并不是绝对,只是从存储模型上来进行的大体划分。它们之间没有绝对的分界,也有交差的情况,比如Tokyo Cabinet / Tyrant的Table类型存储,就可以理解为是文档型存储,Berkeley DB XML数据库是基于Berkeley DB之上开发的。

NoSQL还是关系数据库

虽然09年出现了比较激进的文章《关系数据库已死》,但是我们心里都清楚,关系数据库其实还活得好好的,你还不能不用关系数据库。但是也说明了一个事实,关系数据库在处理WEB2.0数据的时候,的确已经出现了瓶颈。

那么我们到底是用NoSQL还是关系数据库呢?我想我们没有必要来进行一个绝对的回答。我们需要根据我们的应用场景来决定我们到底用什么。

如果关系数据库在你的应用场景中,完全能够很好的工作,而你又是非常善于使用和维护关系数据库的,那么我觉得你完全没有必要迁移到NoSQL上面, 除非你是个喜欢折腾的人。如果你是在金融,电信等以数据为王的关键领域,目前使用的是Oracle数据库来提供高可靠性的,除非遇到特别大的瓶颈,不然也 别贸然尝试NoSQL。

然而,在WEB2.0的网站中,关系数据库大部分都出现了瓶颈。在磁盘IO、数据库可扩展上都花费了开发人员相当多的精力来优化,比如做分表分库 (database sharding)、主从复制、异构复制等等,然而,这些工作需要的技术能力越来越高,也越来越具有挑战性。如果你正在经历这些场合,那么我觉得你应该尝 试一下NoSQL了。

选择合适的NoSQL

如此多类型的NoSQL,而每种类型的NoSQL又有很多,到底选择什么类型的NoSQL来作为我们的存储呢?这并不是一个很好回答的问题,影响我们选择的因素有很多,而选择也可能有多种,随着业务场景,需求的变更可能选择又会变化。我们常常需要根据如下情况考虑:

  1. 数据结构特点。包括结构化、半结构化、字段是否可能变更、是否有大文本字段、数据字段是否可能变化。
  2. 写入特点。包括insert比例、update比例、是否经常更新数据的某一个小字段、原子更新需求。
  3. 查询特点。包括查询的条件、查询热点的范围。比如用户信息的查询,可能就是随机的,而新闻的查询就是按照时间,越新的越频繁。

NoSQL和关系数据库结合

其实NoSQL数据库仅仅是关系数据库在某些方面(性能,扩展)的一个弥补,单从功能上讲,NoSQL的几乎所有的功能,在关系数据库上都能够满足,所以选择NoSQL的原因并不在功能上。

所以,我们一般会把NoSQL和关系数据库进行结合使用,各取所长,需要使用关系特性的时候我们使用关系数据库,需要使用NoSQL特性的时候我们使用NoSQL数据库,各得其所。

举个简单的例子吧,比如用户评论的存储,评论大概有主键id、评论的对象aid、评论内容content、用户uid等字段。我们能确定的是评论内 容content肯定不会在数据库中用where content=’’查询,评论内容也是一个大文本字段。那么我们可以把 主键id、评论对象aid、用户id存储在数据库,评论内容存储在NoSQL,这样数据库就节省了存储content占用的磁盘空间,从而节省大量IO, 对content也更容易做Cache。

NoSQL代替MySQL

在某些应用场合,比如一些配置的关系键值映射存储、用户名和密码的存储、Session会话存储等等,用NoSQL完全可以替代MySQL存储。不但具有更高的性能,而且开发也更加方便。

NoSQL作为缓存服务器

MySQL+Memcached的架构中,我们处处都要精心设计我们的缓存,包括过期时间的设计、缓存的实时性设计、缓存内存大小评估、缓存命中率等等。

NoSQL数据库一般都具有非常高的性能,在大多数场景下面,你不必再考虑在代码层为NoSQL构建一层Memcached缓存。NoSQL数据本身在Cache上已经做了相当多的优化工作。

Memcached这类内存缓存服务器缓存的数据大小受限于内存大小,如果用NoSQL来代替Memcached来缓存数据库的话,就可以不再受限于内存大小。虽然可能有少量的磁盘IO读写,可能比Memcached慢一点,但是完全可以用来缓存数据库的查询操作。

规避风险

由于NoSQL是一个比较新的东西,特别是我们选择的NoSQL数据库还不是非常成熟的产品,所以我们可能会遇到未知的风险。为了得到NoSQL的好处,又要考虑规避风险,鱼与熊掌如何兼得?

现在业内很多公司的做法就是数据的备份。在往NoSQL里面存储数据的时候还会往MySQL里面存储一份。NoSQL数据库本身也需要进行备份(冷 备和热备)。或者可以考虑使用两种NoSQL数据库,出现问题后可以进行切换(避免出现digg使用Cassandra的悲剧)。

总结

本文只是简单的从MySQL和NoSQL的角度分析如何选择,以及进行融合使用。其实在选择NoSQL的时候,你可能还会碰到关于CAP原则,最终一致性,BASE思想的考虑。因为使用MySQL架构的时候,你也会碰到上面的问题,所以这里没有阐述。

关于作者

孙立,目前在凤凰网负责底层组的研发工作。曾就职于搜狐和ku6。多年互联网从业经验和程序开发,对分布式搜索引擎的开发,高并发,大数据量网站系 统架构优化,高可用性,可伸缩性,分布式系统缓存,数据库分表分库(sharding)等有丰富的经验,并且对运维监控和自动化运维控制有经验。开源项目 phplock,phpbuffer的作者。近期开发了一个NOSQL数据库存储INetDB,是NoSQL数据库爱好者。他的新浪微博是:http://t.sina.com.cn/sunli1223

分类: DB 标签: ,

创建MySQL用户 赋予某指定库表的权限

2011年3月28日 没有评论

mysql安装详解 

本文实例,运行于 MySQL 5.0 及以上版本。

MySQL 赋予用户权限命令的简单格式可概括为:

一、grant 普通数据用户,查询、插入、更新、删除 数据库中所有表数据的权利。

或者,用一条 MySQL 命令来替代:

二、grant 数据库开发人员,创建表、索引、视图、存储过程、函数。。。等权限。

grant 创建、修改、删除 MySQL 数据表结构权限。

grant 操作 MySQL 外键权限。

grant 操作 MySQL 临时表权限。

grant 操作 MySQL 索引权限。

grant 操作 MySQL 视图、查看视图源代码 权限。

grant 操作 MySQL 存储过程、函数 权限。

三、grant 普通 DBA 管理某个 MySQL 数据库的权限。

其中,关键字 “privileges” 可以省略。

四、grant 高级 DBA 管理 MySQL 中所有数据库的权限。

五、MySQL grant 权限,分别可以作用在多个层次上。

1. grant 作用在整个 MySQL 服务器上:

2. grant 作用在单个数据库上:

3. grant 作用在单个数据表上:

4. grant 作用在表中的列上:

5. grant 作用在存储过程、函数上:

六、查看 MySQL 用户权限

查看当前用户(自己)权限:

查看其他 MySQL 用户权限:

七、撤销已经赋予给 MySQL 用户权限的权限。

revoke 跟 grant 的语法差不多,只需要把关键字 “to” 换成 “from” 即可:

八、MySQL grant、revoke 用户权限注意事项

1. grant, revoke 用户权限后,该用户只有重新连接 MySQL 数据库,权限才能生效。

2. 如果想让授权的用户,也可以将这些权限 grant 给其他用户,需要选项 “grant option“

这个特性一般用不到。实际中,数据库权限最好由 DBA 来统一管理。

 ———————————————————————————————-

授权命令GRANT 语句的语法如下:
GRANT privileges (columns)
ON what
TO user IDENTIFIEDBY “password”
WITH GRANT OPTION
对用户授权
mysql>grant rights on database.* to user@host identified by “pass”;
例1:
增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。
grant select,insert,update,delete on *.* to test1@”%” Identified by “abc”;
ON 子句中*.* 说明符的意思是“所有数据库,所有的表”
例2:
增加一个用户test2密码为abc, 让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作。
grant select,insert,update,delete on mydb.* to test2@localhost identified by “abc”;
例子3
增加一个用户custom,他能从主机localhost、server.domain和whitehouse.gov连接。他只想要从 localhost存取bankaccount数据库,从whitehouse.gov存取expenses数据库和从所有3台主机存取customer 数据库。他想要从所有3台主机上使用口令stupid。

为了使用GRANT语句设置个用户的权限,运行这些命令:
shell> mysql –user=root mysql
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
ON bankaccount.* TO custom@localhost IDENTIFIED BY ‘stupid’;
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
ON expenses.* TO custom@whitehouse.gov IDENTIFIED BY ‘stupid’;
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
ON customer.* TO custom@’%’ IDENTIFIED BY ‘stupid’;
==============================================
权限信息用user、db、host、tables_priv和columns_priv表被存储在mysql数据库中(即在名为mysql的数据库中)。
权限 列 Context
select Select_priv 表
insert Insert_priv 表
update Update_priv 表
delete Delete_priv 表
index Index_priv 表
alter Alter_priv 表
create Create_priv 数据库、表或索引
drop Drop_priv 数据库或表
grant Grant_priv 数据库或表
references References_priv 数据库或表
reload Reload_priv 服务器管理
shutdown Shutdown_priv 服务器管理
process Process_priv 服务器管理
file File_priv 在服务器上的文件存取

1.select、insert、update和delete权限 允许你在一个数据库现有的表上实施操作,是基本权限
2.alter权限允许你使用ALTER TABLE
3.create和drop权限允许你创建新的数据库和表,或抛弃(删除)现存的数据库和表 如果你将mysql数据库的drop权限授予一个用户,该用户能抛弃存储了MySQL存取权限的数据库!
4.grant权限允许你把你自己拥有的那些权限授给其他的用户。
你不能明显地指定一个给定用户应该被拒绝存取。即,你不能明显地匹配一个用户并且然后拒绝连接。你不能指定一个用户有权创建立或抛弃一个数据库中的表,也不能创建或抛弃数据库本身。 可以同时列出许多被授予的单个权限。
例如,如果想让用户能读取和修改已有表的内容,但又不允许创建新表或删除表,可按如下授权:
GRANT SELECT,INSERT,DELETE,UPDATE ON samp_db.* TO ‘user’@’%’ IDENTIFIEDBY “pass”

以上是我从别的地方拷贝过来后稍作修改的文字,下面自己写一些需要注意的东西。

为什么使用了Grant all on db.* to user identified by “pass”后,在主机上访问数据库还会出现ERROR 1045 (28000): Access denied for user ‘user’@’localhost’ (using password: YES) 的错误提示?

解答方法如下:运行命令 Grant all on db.* to ‘user’@’localhost’ identified by “pass”

原因是:当不加@选项时,效果与加@’%’是一样的,’%’从名义上包括任何主机,(%必须加上引号,不然与@放在一起可能不会被辨认出。)不过有些时候(有些版本)’%’不包括localhost,要单独对@’localhost’进行赋值

分类: DB 标签:

oracle安装配置

2011年3月25日 没有评论

oracle安装全解

1     准备环境。… 1

1.1     在Redhat上配置CentOS的yum.. 1

1.2     VNC安装… 1

1.3     启动vnc. 1

1.4     修改字体… 1

1.5     Oracle安装… 1

1.6     检查内存和磁盘… 1

1.7     OS参数要求vi /etc/sysctl.conf , 在行末添加以下内容… 1

1.8     vi /etc/security/limits.conf 行末添加以下内容… 2

1.9     vi /etc/pam.d/login 行末添加以下内容… 2

1.10   vi /etc/selinux/config 确保以下内容… 2

1.11   vi /etc/profile,在最后加入:… 2

1.12       复制 oracle 10.2.0.1安装文件过来… 2

1.13       因为默认rhel5.2不支持10.2,0.1,修改安装文件… 2

1.14       修改目录权限… 2

2     Oracle安装… 3

2.1     创建和配置用户… 3

2.2     创建安装目录… 3

2.3     $ vi ./.bash_profile. 3

2.4     安装… 3

 

1       准备环境。

1.1 Redhat上配置CentOSyum

修改配置文件

#vi /etc/yum.repos.d/rhel-debuginfo.repo

修改如下

baseurl=http://centos.ustc.edu.cn/centos/5/os/i386/

enabled=1

gpgcheck=0

1.2 VNC安装

安装

#yum groupinstall “X Window System”

(redhat平台可能会出现安装包冲突的问题,用rpm –e xxxxx –nodeps卸载冲突的rpm包)

#yum install vnc

#yum install vnc-server

1.3 启动vnc

#vncserver (第一次需要输入密码)

然后访问http://vncserver_ip:5801/

1.4 修改字体

(redhat平台可能会出现启动时出现字体找不到的问题,需要修改vncserver文件)

#chmod u+w /usr/local/bin/vncserver

#vi /usr/local/bin/vncserver

找到

#$cmd .= ” -fp /usr/lib/X11/fonts/misc/,/usr/lib /X11/fonts/75dpi/”;

修改为

$cmd .= ” -fp /usr/share/X11/fonts/misc/,/usr/share /X11/fonts/75dpi/”;

停止

#vncserver -kill :1

1.5 Oracle安装

查询所需安装包是否完整(缺少补啥)

rpm -q gcc make binutils openmotif setarch compat-db compat-gcc compat-gcc-c++ compat-libstdc++ compat-libstdc++-devel  xorg-x11-deprecated-libs

1.6 检查内存和磁盘

# grep MemTotal /proc/meminfo

MemTotal:512236 kB

# grep SwapTotal /proc/meminfo

SwapTotal:1574360 kB

#df -h

1.7 OS参数要求vi /etc/sysctl.conf , 在行末添加以下内容

#use for oracle

kernel.shmall = 2097152

kernel.shmmax = 2147483648

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

fs.file-max = 65536

net.ipv4.ip_local_port_range = 1024 65000

net.core.rmem_default=262144

net.core.rmem_max=262144

net.core.wmem_default=262144

net.core.wmem_max=262144

再运行sysctl -p应用以上参数

1.8 vi /etc/security/limits.conf 行末添加以下内容

#use for oracle

* soft nproc 2047

* hard nproc 16384

* soft nofile 1024

* hard nofile 65536

1.9 vi /etc/pam.d/login 行末添加以下内容

session required pam_limits.so

1.10 vi /etc/selinux/config 确保以下内容

SELINUX=disabled

关闭SELIINUX

1.11 vi /etc/profile,在最后加入:

if [ $USER = “oracle” ]; then

if [ $SHELL = “/bin/ksh” ]; then

ulimit -p 16384

ulimit -n 65536

else

ulimit -u 16384 -n 65536

fi

fi

1.12 复制 oracle 10.2.0.1安装文件过来

1.13 因为默认rhel5.2不支持10.2,0.1,修改安装文件

# vi /10201_database_linux32/database/install/oraparam.ini

### #[Certified Versions]

Linux=redhat-3,SuSE-9,redhat-4,rhel-5.2,UnitedLinux-1.0,asianux-1,asianux-2]

再添加

[Linux-rhel-5.0-optional]

TEMP_SPACE=80

SWAP_SPACE=150

MIN_DISPLAY_COLORS=256

1.14 修改目录权限

#chmod -R 777 10201_database_linux32

2       Oracle安装

2.1 创建和配置用户

#/usr/sbin/groupadd oracle

#/usr/sbin/useradd -m -g oracle -G oracle

#id oracle

2.2 创建安装目录

#mkdir /usr/local/oracle

#chown oracle.oracle /usr/local/oracle

# chmod -R 775 /usr/local/oracle

修改.bash_profile文件

#su – oracle

2.3 $ vi ./.bash_profile

添加

export ORACLE_HOME=/usr/local/oracle

export ORACLE_SID=orcl

export PATH=$PATH:$ORACLE_HOME/bin

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

export LANG=AMERICAN_AMERICA.ZHS16GBK

export ORACLE_TERM=xterm

export TNS_ADMIN=$ORACLE_HOME/network/admin

export ORA_NLS10=$ORACLE_HOME/nls/data

2.4 安装

#su – oracle

$ export DISPLAY=0:0

$ export LANG=en_US

$vncserver    (注意要在oracle用户下运行vncserver)

$runInstaller –ignoreSysPrereqs

在实际的应用中,有时候工作数据库需要重新启动。

1. 停应用层的各种程序

2. 停Oralce的监听进程

$ lsnrctl stop

3. 在独占的系统用户下,备份控制文件:

$ sqlplus “/as sysdba”

SQL> alter database backup controlfile to trace;

4. 在独占的系统用户下,手工切换重作日志文件,确保当前已修改过的数据存入文件:

SQL> alter system switch logfile;

5. 在独占的系统用户下,运行下面SQL语句,生成杀数据库用户连接的kill_all_session.sql文件:

SQL> set head off;

SQL> set feedback off;

SQL> set newpage none;

SQL> spool ./kill_session.sql

SQL> select ‘alter system kill session ”’||sid||’,’||serial#||”’;’ from v$session where username is  not null;

SQL> spool off;

6. 在独占的系统用户下,执行杀数据库用户连接的kill_session.sql文件

SQL> @./kill_session.sql

7. 在独占的系统用户下,用immediate方式关闭数据库:

SQL> shutdown immediate;

或者

SVRMGRL> shutdown immediate;

8. 启动oralce的监听进程

$ lsnrctl start

9. 进入独占的系统用户下,启动Oralce数据库

$ sqlplus /nolog

SQL> connect / as sysdba

SQL> startup;

或者

$ svrmgrl

SVRMGRL> connect internal;

SVRMGRL> startup;

分类: DB 标签:

my.cnf配置文件详解|mysql优化

2011年3月25日 没有评论

 

分类: DB 标签: ,

make: *** [ext/mysqli/mysqli.lo] Error 1

2011年3月14日 没有评论

这个是在编译php的时候执行make的时候出现的,前面./configure是没有问题的

解决方法:

分类: DB 标签: ,

linux上mysql5.5.8安装详解

2011年3月14日 没有评论

MySQL5.5源码安装和以前的5.x有区别,5.x使用autotool编译,新版的5.5使用CMake编译

1.1. Cmake的安装

http://www.cmake.org/cmake/resources/software.html

下载源码包,安装cmake方法和其他的安装相同,解压,配置,编译,安装
cmake安装

建立用户和目录

注意:

下面的配置过程中,ls一下你会看到有下面的文件: my-huge.cnf 【对应1-2G内存】、my-large.cnf 【对应512M内存】、my-medium.cnf 【对应128M内存】、my-small.cnf 【对应64M或更低】,你可以查看这些文件,参照你的电脑配置,选择一个文件

mysql开始安装

服务相关

分类: DB 标签: ,

phpmyadmin 提示 PHP 5.2+ is required 的解决办法

2011年3月7日 没有评论

phpmyadmin 提示 PHP 5.2+ is required 的解决办法:

今天想安装个phpmyadmin于是去官网看了一下,看到有phpMyAdmin 3.3.3 于是就下了,安装,访问。出错了提示 PHP 5.2+ is required

应该是说要求php 5.2以上吧

系统装是提CentOS 5.5 因为只是玩玩,所以图省事,apache,php,mysql都直接选装了。

建个phpinfo.php来看一下自己的php版本情况

原来CentOS 5.5自带的php是5.1.6

两个方法:

1 升级php
2使用低版本的phpmyadmin

分类: DB 标签: ,

mysql备份脚本

2011年3月7日 没有评论

分类: DB 标签: ,

MySQL衍生数据库 MepSQL

2011年2月28日 没有评论

MepSQL 是一个 MySQL 的衍生版本。MepSQL 初始基于 facebook 补丁的 MySQL 代码,增加了用户友好的安装包和文档。MepSQL 主要侧重于高性能和来自社区开发的新特性、工具和文档。

安装方法:

Ubuntu 10.10

分类: DB 标签: ,

centos5.5+nginx0.8.54+mysql5.5.8+php5.3.5 最新详细安装手册

2011年2月16日 2 条评论

转载自:http://ggt8702.com/?p=146
本篇中nginx、mysql、php都会被安装在/opt/目录下,它们的配置文件和日志等都在它们的安装目录下;mysql的数据库数据放在/data/mysql下,网站数据放在/data/www下。

友情链接:CentOs5.5+Apache2.2.17+MySQL5.5.8+PHP5.3.5环境搭建

系统准备和依赖程序库安装

下载安装包

安装libiconv、libmcrypt、libltdl、mhash、mcrypt

安装cmake

准备用户、目录

安装mysql
编译

配置

ls一下你会看到有下面的文件: my-huge.cnf 【对应1-2G内存】、my-large.cnf 【对应512M内存】
、my-medium.cnf 【对应128M内存】、my-small.cnf 【对应64M或更低】,你可以查看这些文件,参

照你的电脑配置,选择一个文件

你可以再编辑my.cnf,自己调整下参数,也可以保持不变

初始化和启动

按照提示设置root密码等

安装php
编译

安装扩展

配置eaccelerator,在文件末尾添加

配置memcache,在文件中搜索extension_dir、extension ,在相应位置添加下面两行

配置php-fpm

安装nginx
安装pcre

编译

配置
编辑/opt/nginx/conf/nginx.conf,这里给个简单的例子

启动服务器

好了,你可以试着从浏览器访问了。为了测试nginx和php是否协作正常,可以建一个test.php,内容为 ,将它放到到/data/www目录中,从浏览器访问http://your-server-ip-or-hostname/test.php,如果你能看到一个PHP的信息页面就可以了。

php测试页面

MySQL5.5.8安装手册 (完整版)

2011年2月15日 没有评论

MySQL5.5安装

1.安装cmake

2.安装mysql

编译选项说明:

3.新建用户

# useradd mysql -d /dev/null -s /sbin/nologin

4.配置

若提示/etc/init.d/mysqld: line 256: my_print_defaults: command not found

MySQL server PID file could not be found!

编辑/etc/init.d/mysqld 46,47行basedir和datadir变量。

5.其他:

MySQL5.5将InnoDB作为默认的存储引擎。Oracle收购InnoBase后,将自家的InnoDB存储引擎扶上正统地位。

分类: DB 标签:

Linux下源码编译安装MySQL 5.5.8

2011年2月14日 没有评论

分类: DB 标签:

CentOS 5.5 安装MySQL 5.5.8初体验

2011年2月14日 没有评论

http://dev.mysql.com/doc/refman/5.5/en/installing-source-distribution.html
参考文章MySQL官方教程
安装后使用supersmack测试记录 对MYSQL进行压力测试 http://blog.csdn.net/pengyouchuan/archive/2010/12/18/6084007.aspx

MySQL5.5源码安装和以前的5.1有区别,5.1使用autotool编译,新版的5.5使用CMake编译

需要先安装cmake

http://www.cmake.org/cmake/resources/software.html

下载源码包,安装cmake方法和其他的安装相同,解压,配置,编译,安装

按照MySQL官方文档进行,顺利完成,根据自己的datadir安装数据库,我的安装/home/mysql/data下

# Preconfiguration setup
shell> groupadd mysql
shell> useradd -r -g mysql mysql
# Beginning of source-build specific instructions
shell> tar zxvf mysql-VERSION

.tar.gz
shell> cd mysql-VERSION
shell> cmake .
shell> make

shell> make install

# End of source-build specific instructions
# Postinstallation setup
shell> cd /usr/local/mysql
shell> chown -R mysql .

shell> chgrp -R mysql .
shell> scripts/mysql_install_db –user=mysql
shell> chown -R root .
shell> chown -R mysql data
# Next command is optional
shell> cp support-files/my-medium.cnf /etc/my.cnf
shell> bin/mysqld_safe –user=mysql &
# Next command is optional
shell> cp support-files/mysql.server /etc/init.d/mysqld
shell> chkconfig –add mysqld

shell> chkconfig –level 2345 mysqld on
shell> service mysqld start

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/pengyouchuan/archive/2010/12/18/6084128.aspx

分类: DB 标签: , , ,