SVN的服务器端和客户端安装配置 以及与MyEclipse 整合使用

zhang 发表于 web开发, 软件家园 分类,标签:
1

首先安装服务器和客户端软件 :

Setup-Subversion和 Subversion的Windows客户端TortoiseSVN

这两个软件是必须安装的,这里给大家提供一下下载地址:

Setup-Subversion:

http://subversion.tigris.org/files/documents/15/44049/Setup-Subversion-1.5.3.msi

TortoiseSVN:

http://dl.pconline.com.cn/download/53122.html

安装过程很简单直接下一步就行了 ,不过安装中会提示要你选择然后选择Apache 2.0 或者 Apache 2.2,这两个都行,随便选一个就行了

其次建立版本库: 两种方式

运行Subversion服务器需要首先要建立一个版本库(Repository),可以看作服务器上存放数据的数据库,在安装了Subversion服务器之后,可以直接运行,如:

svnadmin create E:\svndemo\repository

就会在目录E:\svndemo\repository下创建一个版本库。

我们也可以使用TortoiseSVN图形化的完成这一步:
在目录E:\svndemo\repository下”右键->TortoiseSVN->Create Repository here…“, 然后可以选择版本库模式, 这里使用默认即可, 然后就创建了一系列目录和文件

第三步就是配置用户权限了 阅读全文 »

版本控制工具使用:Subversion服务器端和TortoiseSVN 客户端

liangkun 发表于 web开发, 软件家园 分类,标签:
0

Subversion服务器端操作:

(1)建立版本库;
方法:在一个F:\testsvn文件夹下点击鼠标右键—->TortoiseSVN—->Create repository here —>

然后会自动创立版本库;

(2)导入项目数据:
启动Subversion 服务器,同时配置这个版本库对应的用户名和密码;
a)在命令行下启动Subversion服务器:
E:\PHP\SVN\Services\install\bin>svnserve -d -r F:\testsvn
b)配置登录Subversion服务器用户名和密码;
c)连接Subversion服务器登录即可;
d)导入数据到版本库———-》 在存放数据的文件夹下点击鼠标右键—->TortoiseSVN—->Import即可;
TortoiseSVN 客户端的操作:

阅读全文 »

linux 下mysql的三种安装方式

zhang 发表于 Linux, mysql, 梁言坤语 分类,标签:
0

mysql的三种安装方式:RPM 二进制包和源代码

本次安装的系统平台为redhat 5

一、使用RPM包进行安装

首先可以从安装光盘中或者到mysql的网站上下载对应版本的rpm包如下:
MySQL-server-community-5.1.38-0.rhel5.i386.rpm
MySQL-client-community-5.1.38-0.rhel5.i386.rpm

接着我们可以使用rpm命令进行安装:
rpm -ivh MySQL-server-community-5.1.38-0.rhel5.i386.rpm
rpm -ivh MySQL-client-community-5.1.38-0.rhel5.i386.rpm

二、安装二进制包

步骤如下:

1、用root登录系统,增加mysql用户和组

groupadd mysql
useradd -g mysql mysql

2、解压二进制包,假如二进制包放在/home/mysql下,我们在解压后并增加一个符号链接

tar xvfz mysql-5.1.38-linux-i686-glibc23.tar.gz
ln -s mysql-5.1.38-linux-i686-glibc23 mysql

3、在数据库目录下创建系统数据库的表,–user表示这些数据库和表的所有者为此用户

cd mysql
./scripts/mysql_install_db –user=mysql

4、设置目录权限,将data目录的所有者改为mysql,其它目录的文件的所有者为root

chown -R root:mysql .
chown -R mysql:mysql data

5、启动mysql

./bin/mysqld_safe –user=mysql & 阅读全文 »

vim和vi的区别

zhang 发表于 Linux 分类,标签: ,
0

一直用着vi,有朋友劝我用vim,那么它们有什么区别呢?
简单点来说,它们都是多模式编辑器,
不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,
而且还有一些新的特性在里面。
vim的这些优势主要体现在以下几个方面:

1、多级撤消
我们知道在vi里,按 u只能撤消上次命令,而在vim里可以无限制的撤消。

2、易用性
vi只能运行于unix中,而vim不仅可以运行于unix,windows ,mac等多操作平台。

3、语法加亮
vim可以用不同的颜色来加亮你的代码。

4、可视化操作
就是说vim不仅可以在终端运行,也可以运行于x window、 mac os、 windows。

5、对vi的完全兼容
某些情况下,你可以把vim当成vi来使用。

linux下的rz及sz的安装及使用说明

zhang 发表于 Linux 分类,标签: , , ,
11

我们经常要对服务器上面的文件进行上传或下载,有什么比较简单的方法可以实现吗?我们可以利用rz和sz可以实现上面的目的。rz和sz是Linux/Unix同Windows进行ZModem文件传输的命令行工具。
rz命令—上传本地文件到服务器端
即是接收文件(SecureCRT接收),SecureCRT就会弹出文件选择对话框,选好文件之后关闭对话框,文件就会上传到当前目录;

使用方法为:[root@localhost yum.repos.d]# rz  就可以。
sz命令—从服务器端下载文件到本地
sz file1 file2就是发文件到windows上(保存的目录是可以配置);

使用方法为:[[root@localhost yum.repos.d]# sz   就可以。

要是我们在命令行下使用rz或sz提示命令不对,是因为你的linux/unix服务器上面没有安装lrzsz包。

安装lrzsz包的方法如下:

[root@localhost yum.repos.d]# yum -y install lrzsz
Loading “installonlyn” plugin
Loading “rhnplugin” plugin
Loading “security” plugin
This system is not registered with RHN.
RHN support will be disabled.
Setting up Install Process
Setting up repositories
Reading repository metadata in from local files
Parsing package install arguments
Resolving Dependencies
–> Populating transaction set with selected packages. Please wait.
—> Package lrzsz.i386 0:0.12.20-22.1 set to be updated
–> Running transaction check

Dependencies Resolved
阅读全文 »

linux的chmod与chown命令使用及区别

zhang 发表于 Linux 分类,标签:
4

chmod使用方式 : chmod [-cfvR] [--help] [--version] mode file…

说明 : Linux/Unix 的档案存取权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以藉以控制档案如何被他人所存取。

mode : 权限设定字串,格式如下 : [ugoa...][[+-=][rwxX]…][,...],其中u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。
-c : 若该档案权限确实已经更改,才显示其更改动作
-f : 若该档案权限无法被更改也不要显示错误讯息
-v : 显示权限变更的详细资料
-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
–help : 显示辅助说明
–version : 显示版本

范例 :将档案 file1.txt 设为所有人皆可读取 :
chmod ugo+r file1.txt

将档案 file1.txt 设为所有人皆可读取 :
chmod a+r file1.txt

将档案 file1.txt 与 file2.txt 设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入 :
chmod ug+w,o-w file1.txt file2.txt

将 ex1.py 设定为只有该档案拥有者可以执行 :
chmod u+x ex1.py 阅读全文 »

谈关系数据库的范式和反范式(关系数据库设计范式介绍)

zhang 发表于 数据库 分类,标签: , ,
1

一个人要成长到项目经理的位置,要懂的数据库的设计原则,虽然好多东西都是理论性比较强的东西;当我们拿到一个新的需求,我们把需求从头到尾搞清楚后,就开始画流程图—>用例图—->设计数据库—->进入开发阶段—->编码—->测试—–>项目上线,至此一个项目就算完成。

在这里我们只对设计数据库的这一块的范例进行讨论。提到范例,大家都知道第一范式,第二范式,第三范式。可是我们明白这些范式的深层含意吗?这些范式什么时候用,用它们有什么好处呢?下面我们就一起带着这些问题边想边读下面的文章。

范式:英文名称是 Normal Form,它是英国人 E.F.Codd(关系数据库的老祖宗)在上个世纪70年代提出关系数据库模型后总结出来的,范式是关系数据库理论的基础,也是我们在设计数据库结构过程中所要遵循的规则和指导方法。数据库的设计范式是数据库设计所需要满足的规范。只有理解数据库的设计范式,才能设计出高效率、优雅的数据库,否则可能会设计出错误的数据库.目前有迹可寻的共有8种范式,依次是:1NF,2NF,3NF,BCNF,4NF,5NF,DKNF,6NF。满足最低要求的叫第一范式,简称1NF。在第一范式基础上进一步满足一些要求的为第二范式,简称2NF。其余依此类推。通常所用到的只是前三个范式,即:第一范式(1NF),第二范式(2NF),第三范式(3NF)。下面就简单介绍下这三个范式。

第一范式(1NF):强调的是列的原子性,即列不能够再分成其他几列。
考虑这样一个表:【联系人】(姓名,性别,电话)
如果在实际场景中,一个联系人有家庭电话和公司电话,那么这种表结构设计就没有达到 1NF。要符合 1NF 我们只需把列(电话)拆分,即:【联系人】(姓名,性别,家庭电话,公司电话)。1NF 很好辨别,但是 2NF 和 3NF 就容易搞混淆。 阅读全文 »

mysql数据库性能的检查和调优方法

zhang 发表于 mysql 分类,标签: ,
0

我一直是使用mysql这个数据库软件,它工作比较稳定,效率也很高。在遇到严重性能问题时,一般都有这么几种可能:

1、索引没有建好;

2、 sql写法过于复杂;

3、配置错误;

4、机器实在负荷不了;

1、索引没有建好

如果看到mysql消耗的 cpu很大,可以用mysql的client工具来检查。

在linux下执行

/usr/local/mysql/bin/mysql -hlocalhost -uroot -p

输入密码,如果没有密码,则不用-p参数就可以进到客户端界面中。

看看当前的运行情况

show full processlist

可以多运行几次

这个命令可以看到当前正在执行的sql语句,它会告知执行的sql、数据库名、执行的状态、来自的客户端ip、所使用的帐号、运行时间等信息

在我的cache后端,这里面大部分时间是看不到显示任何sql语句的,我认为这样才算比较正常。如果看到有很多sql语句,那么这台mysql就一定会有性能问题

如果出现了性能问题,则可以进行分析:

1、是不是有sql语句卡住了?

这是出现比较多的情况,如果数据库是采用 myisam,那么有可能有一个写入的线程会把数据表给锁定了,如果这条语句不结束,则其它语句也无法运行。

查看processlist 里的time这一项,看看有没有执行时间很长的语句,要留意这些语句。

阅读全文 »

VI常用实用命令学习

zhang 发表于 Linux 分类,标签: ,
0

利用VI编辑器,对系统配置文件进行修改或编写简单的脚本程序

命令行或命令模式:在最后一行没有显示–INSERT–或–REPLACE–字样的时候。

#:   是指常用的命令

一般模式:光标移动

h 或 ->     光标向左移动一个字符
————————————————————
l 或 <-     光标向右移动一个字符
————————————————————
k 或 向上方向键    光标向上移动一个字符
————————————————————
j 或 向下方向键    光标向下移动一个字符
————————————————————
Ctrl+f         #  屏幕向前翻动一页
——————————————————–
Ctrl+b         #  屏幕向后翻动一页
——————————————————–
Ctrl+d     屏幕向前翻动半页-
——————————————————–
Ctrl+u     屏幕向后翻动半页
——————————————————–
+     光标移动到非空格符的下一列
——————————————————————
-     光标移动到非空格符的上一列
——————————————————————-
n    按下数字键后再按空格键,光标会向右移动这一行的n个字符。
     (例如20,则光标会向右移动20个字符)
———————————————————————————————-
0        #   (这是数字0)移动到这一行的第一个字符处
—————————————————————————–
$        #   移动到这一行的最后一个字符处
——————————————————————–
H     光标移动到这个屏幕最上方的那一行
————————————————————————
M     光标移动到这个屏幕中央的那一行
———————————————————————-
L     光标移动到这个屏幕最下方的那一行
————————————————————————
G        #   移动到这个文件的最后一行
—————————————————————-
nG     移动到这个文件的第n行。
     例如20G,则会移动到这个文件的第20行(可配合:set nu)
———————————————————————————————-
n       #   光标向下移动n行
——————————————————-

阅读全文 »

解析mysql 数据库的主从同步原理

zhang 发表于 mysql 分类,标签: ,
0

mysql 数据库的主从同步主要依赖Replication 线程 .   

Mysql的 Replication 是一个异步的复制过程,从一个 Mysql instace(我们称之为 Master)复制到另一个 Mysql instance(我们称之 Slave)。在 Master 与 Slave 之间的实现整个复制过程主要由三个线程来完成,其中两个线程(Sql线程和IO线程)在 Slave 端,另外一个线程(IO线程)在 Master 端。 

 要实现 MySQL 的 Replication ,首先必须打开 Master 端的Binary Log(mysql-bin.xxxxxx)功能,否则无法实现。因为整个复制过程实际上就是Slave从Master端获取该日志然后再在自己身上完全 顺序的执行日志中所记录的各种操作。打开 MySQL 的 Binary Log 可以通过在启动 MySQL Server 的过程中使用 “—log-bin” 参数选项,或者在 my.cnf 配置文件中的 mysqld 参数组([mysqld]标识后的参数部分)增加 “log-bin” 参数项。  

MySQL 复制的基本过程如下:  

—————————————————————————————
1. Slave 上面的IO线程连接上 Master,并请求从指定日志文件的指定位置(或者从最开始的日志)之后的日志内容;  

2. Master 接收到来自 Slave 的 IO 线程的请求后,通过负责复制的 IO 线程根据请求信息读取指定日志指定位置之后的日志信息,返回给 Slave 端的 IO 线程。返回信息中除了日志所包含的信息之外,还包括本次返回的信息在 Master 端的 Binary Log 文件的名称以及在 Binary Log 中的位置;   

3. Slave 的 IO 线程接收到信息后,将接收到的日志内容依次写入到 Slave 端的Relay Log文件(mysql-relay-bin.xxxxxx)的最末端,并将读取到的Master端的bin-log的文件名和位置记录到master- info文件中,以便在下一次读取的时候能够清楚的高速Master“我需要从某个bin-log的哪个位置开始往后的日志内容,请发给我”    

4. Slave 的 SQL 线程检测到 Relay Log 中新增加了内容后,会马上解析该 Log 文件中的内容成为在 Master 端真实执行时候的那些可执行的 Query 语句,并在自身执行这些 Query。这样,实际上就是在 Master 端和 Slave 端执行了同样的 Query,所以两端的数据是完全一样的。  
阅读全文 »