??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲午夜久久久久,国产欧美精品一区二区三区介绍,亚洲精品日产aⅴhttp://www.aygfsteel.com/OpenCloseD/!Qrdinary zh-cnWed, 18 Jun 2025 03:47:29 GMTWed, 18 Jun 2025 03:47:29 GMT60Speeding up InnoDB Insert by Changing Default Settingshttp://www.aygfsteel.com/OpenCloseD/archive/2007/06/21/125451.html开?/dc:creator>开?/author>Wed, 20 Jun 2007 18:51:00 GMThttp://www.aygfsteel.com/OpenCloseD/archive/2007/06/21/125451.htmlhttp://www.aygfsteel.com/OpenCloseD/comments/125451.htmlhttp://www.aygfsteel.com/OpenCloseD/archive/2007/06/21/125451.html#Feedback0http://www.aygfsteel.com/OpenCloseD/comments/commentRss/125451.htmlhttp://www.aygfsteel.com/OpenCloseD/services/trackbacks/125451.htmlInnoDB default options are very conservative and in several situations increasing the buffers can have a high impact on the performance. E.g. for speeding up inserts on a InnoDB-only setup, the rule of a thumb is to set the innodb_buffer_pool size to 50-80% of your computer's memory and to set innodb_log_file_size to about 25% of the innodb_buffer_pool_size.

If you are running your program on several threads, which all work on
the InnoDB table(s) you might want to also set
innodb_flush_log_at_trx_commit=0
This adds some risk of losing some transactions in the case of a
power failure or an unclean mysqld shutdown, but it can improve
speed.

Please note that when inserting several rows at once in InnoDB table, it is fastest, if the rows are inserted in Primary Key order. This is because of the clustered index, which InnoDB always uses.

If your system has a mix of several table handlers, then it is harder to provide good general settings for improving the speed, as the option settings heavily depend on your overall system design. In such cases you can contact us at consulting@mysql.com, and purchase online consulting. In Online Consulting our developers will log into your system and they will do extensive analysis of your system's requirements. Based on the research they can set proper settings for your MySQL installation or they can give you advice, how to make the needed changes by yourself in order to gain better performance.




http://www.mysql.com/news-and-events/newsletter/2003-11/a0000000269.html

]]>
my.ini详解?qing)mysqld优化讲述http://www.aygfsteel.com/OpenCloseD/archive/2007/06/21/125450.html开?/dc:creator>开?/author>Wed, 20 Jun 2007 18:35:00 GMThttp://www.aygfsteel.com/OpenCloseD/archive/2007/06/21/125450.htmlhttp://www.aygfsteel.com/OpenCloseD/comments/125450.htmlhttp://www.aygfsteel.com/OpenCloseD/archive/2007/06/21/125450.html#Feedback0http://www.aygfsteel.com/OpenCloseD/comments/commentRss/125450.htmlhttp://www.aygfsteel.com/OpenCloseD/services/trackbacks/125450.htmlhttp://bbs.muzone.cn/thread-107946-1-1.html

]]>
恢复mysql数据http://www.aygfsteel.com/OpenCloseD/archive/2007/06/21/125449.html开?/dc:creator>开?/author>Wed, 20 Jun 2007 18:34:00 GMThttp://www.aygfsteel.com/OpenCloseD/archive/2007/06/21/125449.htmlhttp://www.aygfsteel.com/OpenCloseD/comments/125449.htmlhttp://www.aygfsteel.com/OpenCloseD/archive/2007/06/21/125449.html#Feedback0http://www.aygfsteel.com/OpenCloseD/comments/commentRss/125449.htmlhttp://www.aygfsteel.com/OpenCloseD/services/trackbacks/125449.html MY-SQL常用命o(h)

一、连接MYSQL?

格式Q?mysql -hL地址 -u用户?Qp用户密码

1、例1Q连接到本机上的MYSQL?

首先在打开DOSH口Q然后进入目?mysqlbinQ再键入命o(h)mysql -uroot -pQ回车后提示你输密码Q如果刚安装好MYSQLQ超U用户root是没有密码的Q故直接回R卛_q入到MYSQL中了QMYSQL的提C符是:(x)mysql>

2、例2Q连接到q程L上的MYSQL。假设远E主机的IP为:(x)110.110.110.110Q用户名为root,密码为abcd123。则键入以下命o(h)Q?

mysql -h110.110.110.110 -uroot -pabcd123

Q注:u与root可以不用加空|其它也一P

3、退出MYSQL命o(h)Q?exit Q回车)

二、修改密码?

格式Qmysqladmin -u用户?-p旧密?password 新密?

1、例1Q给root加个密码ab12。首先在DOS下进入目录mysqlbinQ然后键入以下命?

mysqladmin -uroot -password ab12

注:(x)因ؓ(f)开始时root没有密码Q所?p旧密码一就可以省略了?

2、例2Q再root的密码改为djg345?

mysqladmin -uroot -pab12 password djg345

三、增加新用户。(注意Q和上面不同Q下面的因ؓ(f)是MYSQL环境中的命o(h)Q所以后面都带一个分号作为命令结束符Q?

格式Qgrant select on 数据?* to 用户名@dL identified by \"密码\"

?、增加一个用户test1密码为abcQ让他可以在ML上登录,q对所有数据库有查询、插入、修攏V删除的权限。首先用以root用户q入MYSQLQ然后键入以下命令:(x)

grant select,insert,update,delete on *.* to test1@\"%\" Identified by \"abc\";

但例1增加的用h十分危险的,你想如某个h知道test1的密码,那么他就可以在internet上的M一台电(sh)脑上d你的mysql数据库ƈ对你的数据可以ؓ(f)所Ʋؓ(f)了,解决办法见例2?

?、增加一个用户test2密码为abc,让他只可以在localhost上登录,q可以对数据库mydbq行查询、插入、修攏V删除的操作Qlocalhost指本C机,即MYSQL数据库所在的那台LQ,q样用户即用知道test2的密码,他也无法从internet上直接访问数据库Q只能通过MYSQLL上的web|讉K了?

grant select,insert,update,delete on mydb.* to test2@localhost identified by \"abc\";

如果你不想test2有密码,可以再打一个命令将密码消掉?

grant select,insert,update,delete on mydb.* to test2@localhost identified by \"\";

在上我们讲了登录、增加用戗密码更改等问题。下我们来看看MYSQL中有x据库斚w的操作。注意:(x)你必首先登录到MYSQL中,以下操作都是在MYSQL的提C符下进行的Q而且每个命o(h)以分L(fng)束?

一、操作技?

1、如果你打命令时Q回车后发现忘记加分P你无重打一遍命令,只要打个分号回R可以了。也是说你可以把一个完整的命o(h)分成几行来打Q完后用分号作结束标志就O(jin)K?

2、你可以使用光标上下键调Z前的命o(h)。但以前我用q的一个MYSQL旧版本不支持。我现在用的是mysql-3.23.27-beta-win?

二、显C命?

1、显C数据库列表?

show databases;

刚开始时才两个数据库Qmysql和test。mysql库很重要它里面有MYSQL的系l信息,我们改密码和新增用户Q实际上是用这个库q行操作?

2、显C库中的数据表:(x)

use mysqlQ?Q/打开库,学过FOXBASE的一定不?x)陌生?

show tables;

3、显C数据表的结构:(x)

describe 表名;

4、徏库:(x)

create database 库名;

5、徏表:(x)

use 库名Q?

create table 表名 (字段讑֮列表)Q?

6、删库和删表:

drop database 库名;

drop table 表名Q?

7、将表中记录清空Q?

delete from 表名;

8、显C中的记录Q?

select * from 表名;

三、一个徏库和以及(qing)插入数据的实?

drop database if exists school; //如果存在SCHOOL则删?

create database school; //建立库SCHOOL

use school; //打开库SCHOOL

create table teacher //建立表TEACHER

(

id int(3) auto_increment not null primary key,

name char(10) not null,

address varchar(50) default ’深圳’,

year date

); //l束

//以下为插入字D?

insert into teacher values(’’,’glchengang’,’深圳一?#8217;,’1976-10-10’);

insert into teacher values(’’,’jack’,’深圳一?#8217;,’1975-12-23’);

注:(x)在徏表中Q?Q将ID设ؓ(f)长度?的数字字D?int(3)q让它每个记录自动加一:auto_incrementq不能ؓ(f)I?not null而且让他成ؓ(f)dDprimary keyQ?Q将NAME设ؓ(f)长度?0的字W字D(3Q将ADDRESS设ؓ(f)长度50的字W字D,而且~省gؓ(f)深圳。varchar和char有什么区别呢Q只有等以后的文章再说了。(4Q将YEAR设ؓ(f)日期字段?

如果你在mysql提示W键入上面的命o(h)也可以,但不方便调试。你可以以上命令原样写入一个文本文件中假设为school.sqlQ然后复制到c:\\下,q在DOS状态进入目录\\mysql\\binQ然后键入以下命令:(x)

mysql -uroot -p密码 < c:\\school.sql

如果成功Q空Z行无M昄Q如有错误,?x)有提示。(以上命o(h)已经调试Q你只要?/的注释去掉即可用)?

四、将文本数据转到数据库中

1、文本数据应W合的格式:(x)字段数据之间用tab键隔开Qnull值用\\n来代?

例:(x)

3 rose 深圳二中 1976-10-10

4 mike 深圳一?1975-12-23

2、数据传入命?load data local infile \"文g名\" into table 表名;

注意Q你最好将文g复制到\\mysql\\bin目录下,q且要先用use命o(h)打表所在的库?

五、备份数据库Q(命o(h)在DOS的\\mysql\\bin目录下执行)

mysqldump --opt school>school.bbb

注释:数据库school备䆾到school.bbb文gQschool.bbb是一个文本文Ӟ文g名Q取,打开看看你会(x)有新发现?

后记Q其实MYSQL的对数据库的操作与其它的SQLcL据库大同异Q?zhn)最好找本将SQL的书看看。我在这里只介绍一些基本的Q其实我也就只懂q些了,呵呵。最好的MYSQL教程q是“晏子“译的“MYSQL中文参考手?#8220;不仅免费每个相关|站都有下蝲Q而且它是最权威的。可惜不是象\"PHP4中文手册\"那样是chm的格式,在查扑և数命令的时候不太方ѝ?/div>

]]>mysql常用命o(h)http://www.aygfsteel.com/OpenCloseD/archive/2007/06/21/125448.html开?/dc:creator>开?/author>Wed, 20 Jun 2007 18:20:00 GMThttp://www.aygfsteel.com/OpenCloseD/archive/2007/06/21/125448.htmlhttp://www.aygfsteel.com/OpenCloseD/comments/125448.htmlhttp://www.aygfsteel.com/OpenCloseD/archive/2007/06/21/125448.html#Feedback0http://www.aygfsteel.com/OpenCloseD/comments/commentRss/125448.htmlhttp://www.aygfsteel.com/OpenCloseD/services/trackbacks/125448.html
MY-SQL常用命o(h)

一、连接MYSQL?

格式Q?mysql -hL地址 -u用户?Qp用户密码

1、例1Q连接到本机上的MYSQL?

首先在打开DOSH口Q然后进入目?mysqlbinQ再键入命o(h)mysql -uroot -pQ回车后提示你输密码Q如果刚安装好MYSQLQ超U用户root是没有密码的Q故直接回R卛_q入到MYSQL中了QMYSQL的提C符是:(x)mysql>

2、例2Q连接到q程L上的MYSQL。假设远E主机的IP为:(x)110.110.110.110Q用户名为root,密码为abcd123。则键入以下命o(h)Q?

mysql -h110.110.110.110 -uroot -pabcd123

Q注:u与root可以不用加空|其它也一P

3、退出MYSQL命o(h)Q?exit Q回车)

二、修改密码?

格式Qmysqladmin -u用户?-p旧密?password 新密?

1、例1Q给root加个密码ab12。首先在DOS下进入目录mysqlbinQ然后键入以下命?

mysqladmin -uroot -password ab12

注:(x)因ؓ(f)开始时root没有密码Q所?p旧密码一就可以省略了?

2、例2Q再root的密码改为djg345?

mysqladmin -uroot -pab12 password djg345

三、增加新用户。(注意Q和上面不同Q下面的因ؓ(f)是MYSQL环境中的命o(h)Q所以后面都带一个分号作为命令结束符Q?

格式Qgrant select on 数据?* to 用户名@dL identified by \"密码\"

?、增加一个用户test1密码为abcQ让他可以在ML上登录,q对所有数据库有查询、插入、修攏V删除的权限。首先用以root用户q入MYSQLQ然后键入以下命令:(x)

grant select,insert,update,delete on *.* to test1@\"%\" Identified by \"abc\";

但例1增加的用h十分危险的,你想如某个h知道test1的密码,那么他就可以在internet上的M一台电(sh)脑上d你的mysql数据库ƈ对你的数据可以ؓ(f)所Ʋؓ(f)了,解决办法见例2?

?、增加一个用户test2密码为abc,让他只可以在localhost上登录,q可以对数据库mydbq行查询、插入、修攏V删除的操作Qlocalhost指本C机,即MYSQL数据库所在的那台LQ,q样用户即用知道test2的密码,他也无法从internet上直接访问数据库Q只能通过MYSQLL上的web|讉K了?

grant select,insert,update,delete on mydb.* to test2@localhost identified by \"abc\";

如果你不想test2有密码,可以再打一个命令将密码消掉?

grant select,insert,update,delete on mydb.* to test2@localhost identified by \"\";

在上我们讲了登录、增加用戗密码更改等问题。下我们来看看MYSQL中有x据库斚w的操作。注意:(x)你必首先登录到MYSQL中,以下操作都是在MYSQL的提C符下进行的Q而且每个命o(h)以分L(fng)束?

一、操作技?

1、如果你打命令时Q回车后发现忘记加分P你无重打一遍命令,只要打个分号回R可以了。也是说你可以把一个完整的命o(h)分成几行来打Q完后用分号作结束标志就O(jin)K?

2、你可以使用光标上下键调Z前的命o(h)。但以前我用q的一个MYSQL旧版本不支持。我现在用的是mysql-3.23.27-beta-win?

二、显C命?

1、显C数据库列表?

show databases;

刚开始时才两个数据库Qmysql和test。mysql库很重要它里面有MYSQL的系l信息,我们改密码和新增用户Q实际上是用这个库q行操作?

2、显C库中的数据表:(x)

use mysqlQ?Q/打开库,学过FOXBASE的一定不?x)陌生?

show tables;

3、显C数据表的结构:(x)

describe 表名;

4、徏库:(x)

create database 库名;

5、徏表:(x)

use 库名Q?

create table 表名 (字段讑֮列表)Q?

6、删库和删表:

drop database 库名;

drop table 表名Q?

7、将表中记录清空Q?

delete from 表名;

8、显C中的记录Q?

select * from 表名;

三、一个徏库和以及(qing)插入数据的实?

drop database if exists school; //如果存在SCHOOL则删?

create database school; //建立库SCHOOL

use school; //打开库SCHOOL

create table teacher //建立表TEACHER

(

id int(3) auto_increment not null primary key,

name char(10) not null,

address varchar(50) default ’深圳’,

year date

); //l束

//以下为插入字D?

insert into teacher values(’’,’glchengang’,’深圳一?#8217;,’1976-10-10’);

insert into teacher values(’’,’jack’,’深圳一?#8217;,’1975-12-23’);

注:(x)在徏表中Q?Q将ID设ؓ(f)长度?的数字字D?int(3)q让它每个记录自动加一:auto_incrementq不能ؓ(f)I?not null而且让他成ؓ(f)dDprimary keyQ?Q将NAME设ؓ(f)长度?0的字W字D(3Q将ADDRESS设ؓ(f)长度50的字W字D,而且~省gؓ(f)深圳。varchar和char有什么区别呢Q只有等以后的文章再说了。(4Q将YEAR设ؓ(f)日期字段?

如果你在mysql提示W键入上面的命o(h)也可以,但不方便调试。你可以以上命令原样写入一个文本文件中假设为school.sqlQ然后复制到c:\\下,q在DOS状态进入目录\\mysql\\binQ然后键入以下命令:(x)

mysql -uroot -p密码 < c:\\school.sql

如果成功Q空Z行无M昄Q如有错误,?x)有提示。(以上命o(h)已经调试Q你只要?/的注释去掉即可用)?

四、将文本数据转到数据库中

1、文本数据应W合的格式:(x)字段数据之间用tab键隔开Qnull值用\\n来代?

例:(x)

3 rose 深圳二中 1976-10-10

4 mike 深圳一?1975-12-23

2、数据传入命?load data local infile \"文g名\" into table 表名;

注意Q你最好将文g复制到\\mysql\\bin目录下,q且要先用use命o(h)打表所在的库?

五、备份数据库Q(命o(h)在DOS的\\mysql\\bin目录下执行)

mysqldump --opt school>school.bbb

注释:数据库school备䆾到school.bbb文gQschool.bbb是一个文本文Ӟ文g名Q取,打开看看你会(x)有新发现?

后记Q其实MYSQL的对数据库的操作与其它的SQLcL据库大同异Q?zhn)最好找本将SQL的书看看。我在这里只介绍一些基本的Q其实我也就只懂q些了,呵呵。最好的MYSQL教程q是“晏子“译的“MYSQL中文参考手?#8220;不仅免费每个相关|站都有下蝲Q而且它是最权威的。可惜不是象\"PHP4中文手册\"那样是chm的格式,在查扑և数命令的时候不太方ѝ?/div>

]]>MySQL优化l验http://www.aygfsteel.com/OpenCloseD/archive/2007/06/13/123745.html开?/dc:creator>开?/author>Tue, 12 Jun 2007 18:55:00 GMThttp://www.aygfsteel.com/OpenCloseD/archive/2007/06/13/123745.htmlhttp://www.aygfsteel.com/OpenCloseD/comments/123745.htmlhttp://www.aygfsteel.com/OpenCloseD/archive/2007/06/13/123745.html#Feedback0http://www.aygfsteel.com/OpenCloseD/comments/commentRss/123745.htmlhttp://www.aygfsteel.com/OpenCloseD/services/trackbacks/123745.htmlMySQL优化l验

WikipediaQ自q癄全书

同时在线讉K量l增?对于1G内存的服务器明显感觉到吃力严重时甚至每天都会(x)L 或者时不时的服务器卡一?q个问题曄困扰了我半个多月MySQL使用是很具׾~性的法Q因此你通常能用很少的内存运行或lMySQL更多的被存以得到更好的性能?

安装好mysql后,配制文g应该?usr/local/mysql/share/mysql目录中,配制文g有几个,有my-huge.cnf my-medium.cnf my-large.cnf my-small.cnf,不同的流量的|站和不同配制的服务器环境,当然需要有不同的配制文件了?

一般的情况下,my-medium.cnfq个配制文gp满我们的大多需要;一般我们会(x)把配|文件拷贝到/etc/my.cnf 只需要修改这个配|文件就可以了,使用mysqladmin variables extended-status –u root –p 可以看到目前的参敎ͼ有3个配|参数是最重要的,即key_buffer_size,query_cache_size,table_cache?

key_buffer_size只对MyISAM表v作用Q?

key_buffer_size指定索引~冲区的大小Q它军_索引处理的速度Q尤其是索引ȝ速度。一般我们设?6M,实际上稍微大一点的站点 q个数字是远q不够的Q通过(g)查状态值Key_read_requests和Key_reads,可以知道key_buffer_size讄是否合理。比例key_reads / key_read_requests应该可能的低,臛_?:100Q?:1000更好Q上q状态值可以用SHOW STATUS LIKE ‘key_read%’获得Q?或者如果你装了phpmyadmin 可以通过服务器运行状态看?W者推荐用phpmyadmin理mysqlQ以下的状态值都是本人通过phpmyadmin获得的实例分?

q个服务器已l运行了20?

key_buffer_size – 128M
key_read_requests – 650759289
key_reads - 79112

比例接近1:8000 健康状况非常?

另外一个估计key_buffer_size的办法 把你|站数据库的每个表的索引所占空间大加h看看以此服务器ؓ(f)?比较大的几个表烦引加h大概125M q个数字?x)随着表变大而变大?

?.0.1开始,MySQL提供了查询缓冲机制。用查询缓ԌMySQLSELECT语句和查询结果存攑֜~冲ZQ今后对于同L(fng)SELECT语句Q区分大写Q,直接从~冲Zdl果。根据MySQL用户手册Q用查询缓冲最多可以达?38%的效率?

通过调节以下几个参数可以知道query_cache_size讄得是否合?

Qcache inserts
Qcache hits
Qcache lowmem prunes
Qcache free blocks
Qcache total blocks

Qcache_lowmem_prunes的值非常大Q则表明l常出现~冲不够的情?同时Qcache_hits的值非常大Q则表明查询~冲使用非常频繁Q此旉要增加缓冲大Qcache_hits的g大,则表明你的查询重复率很低Q这U情况下使用查询~冲反而会(x)影响效率Q那么可以考虑不用查询~冲。此外,在SELECT语句中加入SQL_NO_CACHE可以明确表示不用查询缓册Ӏ?

Qcache_free_blocksQ如果该值非常大Q则表明~冲Z片很多query_cache_type指定是否使用查询~冲

我设|?

query_cache_size = 32M
query_cache_type= 1

得到如下状态?

Qcache queries in cache 12737 表明目前~存的条?
Qcache inserts 20649006
Qcache hits 79060095  看来重复查询率还挺高?
Qcache lowmem prunes 617913 有这么多ơ出现缓存过低的情况
Qcache not cached 189896   
Qcache free memory 18573912  目前剩余~存I间
Qcache free blocks 5328 q个数字g有点大 片不少
Qcache total blocks 30953

如果内存允许32M应该要往上加?

table_cache指定表高速缓存的大小。每当MySQL讉K一个表Ӟ如果在表~冲Zq有I间Q该表就被打开q放入其中,q样可以更快地访问表内容。通过(g)查峰值时间的状态值Open_tables和Opened_tablesQ可以决定是否需要增加table_cache的倹{如果你发现open_tables{于table_cacheQƈ且opened_tables在不断增长,那么你就需要增加table_cache的gQ上q状态值可以用SHOW STATUS LIKE ‘Open%tables’获得Q。注意,不能盲目地把table_cache讄成很大的倹{如果设|得太高Q可能会(x)造成文g描述W不I从而造成性能不稳定或者连接失败?

对于?G内存的机器,推荐值是128Q?56?

W者设|table_cache = 256

得到以下状?

Open tables 256
Opened tables 9046

虽然open_tables已经{于table_cacheQ但是相对于服务器运行时间来?已经q行?0天,opened_tables的g非常低。因此,增加table_cache的值应该用处不大。如果运行了6个小时就出现上述?那就要考虑增大table_cache?

如果你不需要记?q制log 把q个功能xQ注意关掉以后就不能恢复出问题前的数据了Q需要?zhn)手动备䆾Q二q制日志包含所有更新数据的语句Q其目的是在恢复数据库时用它来把数据可能恢复到最后的状态。另外,如果做同步复? Replication )的话Q也需要用二q制日志传送修Ҏ(gu)c(din)?

log_bin指定日志文gQ如果不提供文g名,MySQL自׃生缺省文件名。MySQL?x)在文g名后面自动添加数字引Q每ơ启动服务时Q都?x)重新生成一个新的二q制文g。此外,使用log-bin-index可以指定索引文gQ用binlog-do-db可以指定记录的数据库Q用binlog-ignore-db可以指定不记录的数据库。注意的是:(x)binlog-do-db和binlog-ignore-db一ơ只指定一个数据库Q指定多个数据库需要多个语句。而且QMySQL?x)将所有的数据库名U改成小写,在指定数据库时必d部用小写名字,否则不会(x)起作用?

xq个功能只需要在他前面加??

#log-bin

开启慢查询日志( slow query log ) 慢查询日志对于跟t有问题的查询非常有用。它记录所有查qlong_query_time的查询,如果需要,q可以记录不使用索引的记录。下面是一个慢查询日志的例子:(x)

开启慢查询日志Q需要设|参数l(f)og_slow_queries、long_query_times、log-queries-not-using-indexes?

log_slow_queries指定日志文gQ如果不提供文g名,MySQL自׃生缺省文件名。long_query_times指定慢查询的阈|~省?0U。log-queries-not-using-indexes?.1.0以后引入的参敎ͼ它指C录不使用索引的查询。笔者设|long_query_time=10

W者设|?

sort_buffer_size = 1M
max_connections=120
wait_timeout =120
back_log=100
read_buffer_size = 1M
thread_cache=32
interactive_timeout=120
thread_concurrency = 4

参数说明:

back_log

要求MySQL能有的连接数量。当主要MySQLU程在一个很短时间内得到非常多的q接hQ这pv作用Q然后主U程׃旉(管很短)(g)查连接ƈ且启动一个新U程。back_log值指出在MySQL暂时停止回答新请求之前的短时间内多少个请求可以被存在堆栈中。只有如果期望在一个短旉内有很多q接Q你需要增加它Q换句话_(d)q值对到来的TCP/IPq接的侦听队列的大小。你的操作系l在q个队列大小上有它自q限制?Unix listen(2)pȝ调用的手册页应该有更多的l节。检查你的OS文档扑ևq个变量的最大倹{试图设定back_log高于你的操作pȝ的限制将是无效的?

max_connections

q发q接数目最大,120 过q个值就?x)自动恢复,Z问题能自动解?

thread_cache

没找到具体说明,不过讄?2?20天才创徏?00多个U程 而以前一天就创徏了上千个U程 所以还是有用的

thread_concurrency

#讄Z的cpu数目x2,例如Q只有一个cpu,那么thread_concurrency=2
#?个cpu,那么thread_concurrency=4
skip-innodb
#Linnodb支持

代码:

# Example MySQL config file for medium systems.
#
# This is for a system with little memory (32M - 64M) where MySQL plays
# an important part, or systems up to 128M where MySQL is used together with
# other programs (such as a web server)
#
# You can copy this file to
# /etc/my.cnf to set global options,
# mysql-data-dir/my.cnf to set server-specific options (in this
# installation this directory is /var/lib/mysql) or
# ~/.my.cnf to set user-specific options.
#
# In this file, you can use all long options that a program supports.
# If you want to know which options a program supports, run the program
# with the "--help" option.

# The following options will be passed to all MySQL clients [client] #password = your_password port = 3306 socket = /tmp/mysql.sock #socket = /var/lib/mysql/mysql.sock # Here follows entries for some specific programs
# The MySQL server [mysqld] port = 3306 socket = /tmp/mysql.sock #socket = /var/lib/mysql/mysql.sock skip-locking key_buffer = 128M max_allowed_packet = 1M table_cache = 256 sort_buffer_size = 1M net_buffer_length = 16K myisam_sort_buffer_size = 1M max_connections=120 #addnew config wait_timeout =120 back_log=100 read_buffer_size = 1M thread_cache=32 skip-innodb skip-bdb skip-name-resolve join_buffer_size=512k query_cache_size = 32M interactive_timeout=120 long_query_time=10 log_slow_queries= /usr/local/mysql4/logs/slow_query.log query_cache_type= 1 # Try number of CPU's*2 for thread_concurrency thread_concurrency = 4
#end new config # Don't listen on a TCP/IP port at all. This can be a security enhancement, # if all processes that need to connect to mysqld run on the same host. # All interaction with mysqld must be made via Unix sockets or named pipes. # Note that using this option without enabling named pipes on Windows # (via the "enable-named-pipe" option) will render mysqld useless! # #skip-networking
# Replication Master Server (default) # binary logging is required for replication #log-bin
# required unique id between 1 and 2^32 - 1 # defaults to 1 if master-host is not set # but will not function as a master if omitted server-id = 1
# Replication Slave (comment out master section to use this) # # To configure this host as a replication slave, you can choose between # two methods : # # 1) Use the CHANGE MASTER TO command (fully described in our manual) - # the syntax is: # # CHANGE MASTER TO MASTER_HOST=, MASTER_PORT=, # MASTER_USER=, MASTER_PASSWORD= ; # # where you replace , , by quoted strings and # by the master's port number (3306 by default). # # Example: # # CHANGE MASTER TO MASTER_HOST='125.564.12.1', MASTER_PORT=3306, # MASTER_USER='joe', MASTER_PASSWORD='secret'; # # OR # # 2) Set the variables below. However, in case you choose this method, then # start replication for the first time (even unsuccessfully, for example # if you mistyped the password in master-password and the slave fails to # connect), the slave will create a master.info file, and any later # change in this file to the variables' values below will be ignored and # overridden by the content of the master.info file, unless you shutdown # the slave server, delete master.info and restart the slaver server. # For that reason, you may want to leave the lines below untouched # (commented) and instead use CHANGE MASTER TO (see above) # # required unique id between 2 and 2^32 - 1 # (and different from the master) # defaults to 2 if master-host is set # but will not function as a slave if omitted #server-id = 2 # # The replication master for this slave - required #master-host = # # The username the slave will use for authentication when connecting # to the master - required #master-user = # # The password the slave will authenticate with when connecting to # the master - required #master-password = # # The port the master is listening on. # optional - defaults to 3306 #master-port = # # binary logging - not required for slaves, but recommended #log-bin
# Point the following paths to different dedicated disks #tmpdir = /tmp/ #log-update = /path-to-dedicated-directory/hostname
# Uncomment the following if you are using BDB tables #bdb_cache_size = 4M #bdb_max_lock = 10000
# Uncomment the following if you are using InnoDB tables #innodb_data_home_dir = /var/lib/mysql/ #innodb_data_file_path = ibdata1:10M:autoextend #innodb_log_group_home_dir = /var/lib/mysql/ #innodb_log_arch_dir = /var/lib/mysql/ # You can set .._buffer_pool_size up to 50 - 80 % # of RAM but beware of setting memory usage too high #innodb_buffer_pool_size = 16M #innodb_additional_mem_pool_size = 2M # Set .._log_file_size to 25 % of buffer pool size #innodb_log_file_size = 5M #innodb_log_buffer_size = 8M #innodb_flush_log_at_trx_commit = 1 #innodb_lock_wait_timeout = 50
[mysqldump] quick max_allowed_packet = 16M
[mysql] no-auto-rehash # Remove the next comment character if you are not familiar with SQL #safe-updates
[isamchk] key_buffer = 20M sort_buffer_size = 20M read_buffer = 2M write_buffer = 2M
[myisamchk] key_buffer = 20M sort_buffer_size = 20M read_buffer = 2M write_buffer = 2M
[mysqlhotcopy] interactive-timeout

补充

优化table_cachetable_cache指定表高速缓存的大小。每当MySQL讉K一个表Ӟ如果在表~冲Zq有I间Q该表就被打开q放入其中,q样可以更快地访问表内容。通过(g)查峰值时间的状态值Open_tables和Opened_tablesQ可以决定是否需要增加table_cache的倹{如果你发现open_tables{于table_cacheQƈ且opened_tables在不断增长,那么你就需要增加table_cache的gQ上q状态值可以用SHOW STATUS LIKE ‘Open%tables’获得Q。注意,不能盲目地把table_cache讄成很大的倹{如果设|得太高Q可能会(x)造成文g描述W不I从而造成性能不稳定或者连接失败。对于有1G内存的机器,推荐值是128Q?56?

案例1Q该案例来自一个不是特别繁忙的服务器table_cache – 512open_tables – 103opened_tables – 1273uptime – 4021421 (measured in seconds)该案例中table_cacheg讄得太高了。在峰值时_(d)打开表的数目比table_cache要少得多?

案例2Q该案例来自一台开发服务器。table_cache – 64open_tables – 64opened-tables – 431uptime – 1662790 (measured in seconds)虽然open_tables已经{于table_cacheQ但是相对于服务器运行时间来_(d)opened_tables的g非常低。因此,增加table_cache的值应该用处不大。案?Q该案例来自一个upderperforming的服务器table_cache – 64open_tables – 64opened_tables – 22423uptime – 19538该案例中table_cache讄得太低了。虽然运行时间不?时Qopen_tables辑ֈ了最大|opened_tables的g非常高。这样就需要增加table_cache的倹{优化key_buffer_sizekey_buffer_size指定索引~冲区的大小Q它军_索引处理的速度Q尤其是索引ȝ速度。通过(g)查状态值Key_read_requests和Key_readsQ可以知道key_buffer_size讄是否合理。比例key_reads / key_read_requests应该可能的低,臛_?:100Q?:1000更好Q上q状态值可以用SHOW STATUS LIKE ‘key_read%’获得Q。key_buffer_size只对MyISAM表v作用。即使你不用MyISAM表,但是内部的(f)时磁盘表是MyISAM表,也要使用该倹{可以用检查状态值created_tmp_disk_tables得知详情。对?G内存的机器,如果不用MyISAM表,推荐值是16MQ?-64MQ?

案例1Q健L(fng)况key_buffer_size – 402649088 (384M)key_read_requests – 597579931key_reads - 56188案例2Q警报状态key_buffer_size – 16777216 (16M)key_read_requests – 597579931key_reads - 53832731案例1中比例低?:10000Q是健康的情况;案例2中比例达?:11Q警报已l拉响?



]]>
mysql bakuphttp://www.aygfsteel.com/OpenCloseD/archive/2007/06/13/123744.html开?/dc:creator>开?/author>Tue, 12 Jun 2007 18:45:00 GMThttp://www.aygfsteel.com/OpenCloseD/archive/2007/06/13/123744.htmlhttp://www.aygfsteel.com/OpenCloseD/comments/123744.htmlhttp://www.aygfsteel.com/OpenCloseD/archive/2007/06/13/123744.html#Feedback1http://www.aygfsteel.com/OpenCloseD/comments/commentRss/123744.htmlhttp://www.aygfsteel.com/OpenCloseD/services/trackbacks/123744.htmlphpmyadmin里边一看全是ؕ?后重新看了mysql 5.0的手?发现加了几个character_set_%,不过改了N^2ơ还是没能搞?但是用PHPE序select出来的却又是正常?问题是PHPMyadmin的问题了..

  ?strong style="COLOR: black; BACKGROUND-COLOR: #ffff66">phpMyAdmin2.6以上版本因ؓ(f)支持多语a集,弄得我们使用phpMyAdmin理数据库的时候,查询出来的中文都是ؕ码,但是在我们的PHPE序调用时却没有q些问题?
  看来?strong style="COLOR: black; BACKGROUND-COLOR: #ffff66">phpMyAdmin2.6的配|有问题了,Z解决q个问题Q我上google上搜索了相关资料Q这cȝ问题很多Q但没一个可以解决的Q真是没办法Q看来只有自己动手解决了。。。。由于查找源代码q程非常烦琐Q略最l花了半天的旉Qȝ扑ֈ了一个比较折L(fng)Ҏ(gu)来解冟뀂去phpMyAdmin2.6的根目录下,打开以下q个文gQlibraries/select_lang.lib.php

  1、找到有"zh-gb2312"的那一行,?zh-gb2312' Ҏ(gu) 'zh-gb2312-utf-8'Z么这样加Q那是因为服务器?x)把没?-utf-8"的语aqo(h)掉,在libraries/database_interface.lib.php W?68行,Ҏ(gu)英文_(d)(x)“Z防止h”Q?<或者如果不?zh-gb2312' Ҏ(gu) 'zh-gb2312-utf-8'Q可以去掉过滤吧。把那个ifLO(jin)K了?

  2、找?$mysql_charset_map = array("那一行把'gb2312' => 'gb2312',Ҏ(gu) 'gb2312' => 'latin1',保存QOKQ在q入phpMyAdmin理Q选择语言chinese simplified(zh-gb2312-utf-8)再看看你的那些中文数据?

  所以说Q我的这个解军_法就只是修改libraries/select_lang.lib.phpq一个文仉的两个字pQ比较方便快P哈哈?
ps:q个帖子的方法非常好用,推荐Q?/div>

- 作者:(x) FS8C 2006q?2?9? 星期?15:37  回复Q?Q?/font> |  引用Q?Q?/font> 加入博采

MySQL 备䆾和恢?转脓(chung))

MySQL 备䆾和恢?

MySQL 备䆾和恢?/h1>

作者:(x)叉荣(Email:Q,来源Q?a >http://imysql.cnQ{载请注明译者和出处Qƈ且不能用于商业用途,q者必I?/span>

日期Q?006/10/01

本文讨论 MySQL 的备份和恢复机制Q以?qing)如何维护数据表Q包括最主要的两U表cdQ?code> ?Q文中设计的 MySQL 版本?5.0.22?/p>

目前 MySQL 支持的免费备份工hQ?code>Q还可以?SQL 语法q行备䆾Q?code> 或?Q又或者备?code>Q还可以?code>。MyISAM 表是保存成文件的形式Q因此相Ҏ(gu)较容易备份,上面提到的几U方法都可以使用?code> 所有的表都保存在同一个数据文? 中(也可能是多个文gQ或者是独立的表I间文gQ,相对来说比较不好备䆾Q免费的Ҏ(gu)可以?code>?code>Q或者用 ?/p>

1、mysqldump

1.1 备䆾

是采用SQLU别的备份机Ӟ它将数据表导?SQL 脚本文gQ在不同?MySQL 版本之间升时相Ҏ(gu)较合适,q也是最常用的备份方法?br>现在来讲一? 的一些主要参敎ͼ(x)

  • --compatible=name

    它告?mysqldumpQ导出的数据和哪种数据库或哪个旧版本的 MySQL 服务器相兼容。值可以ؓ(f) {,要用几个|用逗号它们隔开。当然了Q它q不保证能完全兼容,而是量兼容?

  • --complete-insertQ?c

    导出的数据采用包含字D名的完? 方式Q也是把所有的值都写在一行。这么做能提高插入效率,但是可能?x)受? 参数的媄(jing)响而导致插入失败。因此,需要}慎用该参数Q至我不推荐?

  • --default-character-set=charset

    指定导出数据旉用何U字W集Q如果数据表不是采用默认? 字符集的话,那么导出时必L定该选项Q否则再ơ导入数据后生ؕ码问题?/p>

  • --disable-keys

    告诉 ? 语句的开头和l尾增加 ? 语句Q这能大大提高插入语句的速度Q因为它是在插入完所有数据后才重建烦引的。该选项只适合 表?/p>

  • --extended-insert = true|false

    默认情况下, 开? 模式Q因此不想用它的的话Q就使用本选项Q设定它的gؓ(f) 卛_?

  • --hex-blob

    使用十六q制格式导出二进制字W串字段。如果有二进制数据就必须使用本选项。媄(jing)响到的字D늱型有 ?/p>

  • --lock-all-tablesQ?x

    在开始导Z前,提交h锁定所有数据库中的所有表Q以保证数据的一致性。这是一个全局读锁Qƈ且自动关? ? 选项?/p>

  • --lock-tables

    它和 cMQ不q是锁定当前导出的数据表Q而不是一下子锁定全部库下的表。本选项只适用? 表,如果? 表可以用 选项?/p>

  • --no-create-infoQ?t

    只导出数据,而不d 语句?/p>

  • --no-dataQ?d

    不导ZQ何数据,只导出数据库表结构?/p>

  • --opt

    q只是一个快捷选项Q等同于同时d 选项。本选项能让 很快的导出数据,q且导出的数据能很快导回。该选项默认开启,但可以用 用。注意,如果q行 没有指定 ? 选项Q则?x)将整个l果集放在内存中。如果导出大数据库的话可能会(x)出现问题?/p>

  • --quickQ?q

    该选项在导出大表时很有用,它强? 从服务器查询取得记录直接输出而不是取得所有记录后它们缓存到内存中?/p>

  • --routinesQ?R

    导出存储q程以及(qing)自定义函数?/p>

  • --single-transaction

    该选项在导出数据之前提交一? SQL语句Q?code> 不会(x)dM应用E序且能保证导出时数据库的一致性状态。它只适用于事务表Q例? ??br>本选项? 选项是互斥的Q因? ?x)M挂v的事务隐含提交?br>要想导出大表的话Q应l合使用 选项?

  • --triggers

    同时导出触发器。该选项默认启用Q用 用它?/p>

其他参数详情请参考手册,我通常使用以下 SQL 来备? 表:(x)

/usr/local/mysql/bin/mysqldump -uyejr -pyejr --default-character-set=utf8 --opt --extended-insert=false \
--triggers -R --hex-blob -x db_name > db_name.sql

使用以下 SQL 来备? 表:(x)

/usr/local/mysql/bin/mysqldump -uyejr -pyejr --default-character-set=utf8 --opt --extended-insert=false \
--triggers -R --hex-blob --single-transaction db_name > db_name.sql

 

1.2 q原

? 备䆾出来的文件是一个可以直接倒入?SQL 脚本Q有两种Ҏ(gu)可以数据导入?/p>

  • 直接? 客户?

    例如Q?/p>

    /usr/local/mysql/bin/mysql -uyejr -pyejr db_name < db_name.sql
        

     

  • ?SOURCE 语法

    其实q不是标准的 SQL 语法Q而是 客户端提供的功能Q例如:(x)

    SOURCE /tmp/db_name.sql;
        

    q里需要指定文件的l对路径Qƈ且必L q行用户(例如 nobody)有权限读取的文g?/p>

2?mysqlhotcopy

2.1 备䆾

是一?PERL E序Q最初由Tim Bunce~写。它使用 ? ? 来快速备份数据库。它是备份数据库或单个表的最快的途径Q但它只能运行在数据库文Ӟ包括数据表定义文件、数据文件、烦引文Ӟ所在的机器上?code> 只能用于备䆾 Qƈ且只能运行在 ? pȝ上?/p>

支持一ơ性拷贝多个数据库Q同时还支持正则表达。以下是几个例子Q?/p>

root#/usr/local/mysql/bin/mysqlhotcopy -h=localhost -u=yejr -p=yejr db_name /tmp (把数据库目录 db_name 拯?/tmp ?
root#/usr/local/mysql/bin/mysqlhotcopy -h=localhost -u=yejr -p=yejr db_name_1 ... db_name_n /tmp
root#/usr/local/mysql/bin/mysqlhotcopy -h=localhost -u=yejr -p=yejr db_name./regex/ /tmp

更详l的使用Ҏ(gu)h看手册,或者调用下面的命o(h)来查? 的帮助:(x)

perldoc /usr/local/mysql/bin/mysqlhotcopy

注意Q想要?Q必要? 权限Qƈ且还必须要能够有d 目录的权限?

2.2 q原

备䆾出来的是整个数据库目录,使用时可以直接拷贝到 指定? (在这里是 )目录下即可,同时要注意权限的问题Q如下例Q?/p>

root#cp -rf db_name /usr/local/mysql/data/
root#chown -R nobody:nobody /usr/local/mysql/data/ (?db_name 目录的属L?mysqld q行用户)

3?SQL 语法备䆾

3.1 备䆾

语法其实? 的工作原理差不多Q都是锁表,然后拯数据文g。它能实现在U备份,但是效果不理惻I因此不推荐用。它只拷贝表l构文g和数据文Ӟ不同时拷贝烦引文Ӟ因此恢复时比较慢?br>例子Q?/p>

BACK TABLE tbl_name TO '/tmp/db_name/';

注意Q必要? 权限才能执行本SQLQƈ且目? 必须能被 用户可写Q导出的文g不能覆盖已经存在的文Ӟ以避免安全问题?

则是把数据导出来成ؓ(f)普通的文本文gQ可以自定义字段间隔的方式,方便处理q些数据?br>例子Q?/p>

SELECT INTO OUTFILE '/tmp/db_name/tbl_name.txt' FROM tbl_name;

注意Q必要? 权限才能执行本SQLQƈ且文? 必须能被 用户可写Q导出的文g不能覆盖已经存在的文Ӟ以避免安全问题?

3.2 恢复

? Ҏ(gu)备䆾出来的文Ӟ可以q行 语句来恢复数据表?br>例子Q?/p>

RESTORE TABLE FROM '/tmp/db_name/';

权限要求cM上面所q?/p>

? Ҏ(gu)备䆾出来的文Ӟ可以q行 语句来恢复数据表?br>例子Q?/p>

LOAD DATA INFILE '/tmp/db_name/tbl_name.txt' INTO TABLE tbl_name;

权限要求cM上面所q。倒入数据之前Q数据表要已l存在才行。如果担心数据会(x)发生重复Q可以增? 关键字来替换已有记录或者用 关键字来忽略他们?/p>

4?启用二进制日?binlog)

采用 的方法相Ҏ(gu)说更灉|Q省心省力,而且q可以支持增量备份?/p>

启用 时必要重启 。首先,关闭 Q打开 Q加入以下几行:(x)

server-id	= 1
log-bin		= binlog
log-bin-index	= binlog.index

然后启动 可以了。运行过E中?x)? 以及(qing) Q前面的文g? 记录所有对数据的更新操作,后面的文件则是所? 的烦引,都不能轻易删除。关? 的信息请查看手册?/p>

需要备份时Q可以先执行一?SQL 语句Q让 l止对当? 的写入,可以把文g直接备䆾Q这L(fng)话就能达到增量备份的目的了:(x)

FLUSH LOGS;

如果是备份复制系l中的从服务器,q应该备? ? 文g?

备䆾出来? 文g可以?MySQL 提供的工? 来查看,如:(x)

/usr/local/mysql/bin/mysqlbinlog /tmp/binlog.000001

该工具允怽昄指定的数据库下的所?SQL 语句Qƈ且还可以限定旉范围Q相当的方便Q详l的h看手册?/p>

恢复Ӟ可以采用cM以下语句来做刎ͼ(x)

/usr/local/mysql/bin/mysqlbinlog /tmp/binlog.000001 | mysql -uyejr -pyejr db_name

? 输出?SQL 语句直接作ؓ(f)输入来执行它?/p>

如果你有I闲的机器,不妨采用q种方式来备份。由于作? 的机器性能要求相对不是那么高,因此成本低,用低成本p实现增量备䆾而且q能分担一部分数据查询压力Q何乐而不为呢Q?/p>

5?直接备䆾数据文g

相较前几U方法,备䆾数据文g最为直接、快速、方便,~点是基本上不能实现增量备䆾。ؓ(f)了保证数据的一致性,需要在靠背文g前,执行以下 SQL 语句Q?/p>

FLUSH TABLES WITH READ LOCK;

也就是把内存中的数据都刷新到盘中,同时锁定数据表,以保证拷贝过E中不会(x)有新的数据写入。这U方法备份出来的数据恢复也很单,直接拯回原来的数据库目录下卛_?/p>

注意Q对? cd表来_(d)q需要备份其日志文gQ即 文g。因为当 表损坏时Q就可以依靠q些日志文g来恢复?/p>

6?备䆾{略

对于中等U别业务量的pȝ来说Q备份策略可以这么定Q第一ơ全量备份,每天一ơ增量备份,每周再做一ơ全量备份,如此一直重复。而对于重要的且繁忙的pȝ来说Q则可能需要每天一ơ全量备份,每小时一ơ增量备份,甚至更频J。ؓ(f)了不影响U上业务Q实现在U备份,q且能增量备份,最好的办法是采用M复制机制()Q在 机器上做备䆾?/p>

7?数据l护和灾难恢?/h3>

作ؓ(f)一名DBA(我目前还不是Q呵?Q最重要的工作内容之一是保证数据表能安全、稳定、高速用。因此,需要定期维护你的数据表。以?SQL 语句很有用Q?/p>

CHECK TABLE ?REPAIR TABLEQ检查或l护 MyISAM ?
OPTIMIZE TABLEQ优?MyISAM ?
ANALYZE TABLEQ分?MyISAM ?

当然了,上面q些命o(h)起始都可以通过工具 来完成,在这里不作详q?/p>

表则可以通过执行以下语句来整理碎片,提高索引速度Q?/p>

ALTER TABLE tbl_name ENGINE = Innodb;

q其实是一? 操作Q表面上看什么也不做Q实际上重新整理片了?/p>

通常使用? 表可以用上面提到的恢复方法来完成。如果是索引坏了Q可以用 工具来重建烦引。而对? 表来_(d)没q么直接了,因ؓ(f)它把所有的表都保存在一个表I间了。不q? 有一个检查机制叫 Q只要保存了日志文gQ就能根据日志文件来修复错误。可以在 文g中,增加以下参数Q让 在启动时自动(g)查日志文Ӟ(x)

innodb_force_recovery	= 4

关于该参数的信息h看手册?/p>

8?ȝ

做好数据备䆾Q定只好合适的备䆾{略Q这是一个DBA所做事情的一部分,万事开头难Q就从现在开始吧Q?/p>



]]>取一个字W串的第一个字?/title><link>http://www.aygfsteel.com/OpenCloseD/archive/2007/06/08/122754.html</link><dc:creator>开?/dc:creator><author>开?/author><pubDate>Thu, 07 Jun 2007 17:22:00 GMT</pubDate><guid>http://www.aygfsteel.com/OpenCloseD/archive/2007/06/08/122754.html</guid><wfw:comment>http://www.aygfsteel.com/OpenCloseD/comments/122754.html</wfw:comment><comments>http://www.aygfsteel.com/OpenCloseD/archive/2007/06/08/122754.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/OpenCloseD/comments/commentRss/122754.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/OpenCloseD/services/trackbacks/122754.html</trackback:ping><description><![CDATA[<p style="COLOR: #ffcc00"> </p> public static void main(String[] args) {<br>  // TODO Auto-generated method stub<br>  String aa="%.,.,2xb1bfsdfasfaarytjetyjj.,,";<br>   int pos=isLetter(aa);<br>  aa=aa.substring(pos,pos+1);<br>        System.out.println(aa);<br> }<br> public   static   int   isLetter(String   validString){   <br>        byte[]   tempbyte=validString.getBytes(); <br>        int pos=0;<br>        for( int  i=0;i<validString.length();i++)  <br>        {   <br>              byte  by=tempbyte[i];   <br>                if((by>=65)&&(by<=90)||((by>=97)&&(by<=122)))   {   <br>                  <br>                 break;<br>                   <br>                }   <br>                pos++;  <br>        }  <br>       <br>        return   pos;   <br>    }<br> <br><br><br><br><br><br>判断是否为数字组成的字串   <br>    <br>      public   static   boolean   isNumber(String   validString){   <br>              byte[]   tempbyte=validString.getBytes();   <br>              for(int   i=0;i<validString.length();i++)   {   <br>                      //by=tempbyte[i];   <br>                      if((tempbyte[i]<48)||(tempbyte[i]>57)){   <br>                              return   false;   <br>                      }   <br>              }   <br>              return   true;   <br>      }   <br>    <br>  判断字符串是否ؓ(f)只包括字母和数字   <br>    <br>      public   static   boolean   isChar(String   validString){   <br>              byte[]   tempbyte=validString.getBytes();   <br>              for(int   i=0;i<validString.length();i++)   {   <br>                      //     by=tempbyte[i];   <br>                      if((tempbyte[i]<48)||((tempbyte[i]>57)&(tempbyte[i]<65))||(tempbyte[i]>122)||((tempbyte[i]>90)&(tempbyte[i]<97)))   {   <br>                              return   false;   <br>                      }   <br>              }   <br>              return   true;   <br>      }   <br>    <br>    <br>  判断字符串是否只包括字母   <br>    <br>      public   static   boolean   isLetter(String   validString){   <br>          byte[]   tempbyte=validString.getBytes();   <br>          for(int   i=0;i<validString.length();i++)   {   <br>                  //by=tempbyte[i];   <br>                  if((tempbyte[i]<65)||(tempbyte[i]>122)||((tempbyte[i]>90)&(tempbyte[i]<97)))   {   <br>                          return   false;   <br>                  }   <br>          }   <br>          return   true;   <br>      }<br><br>目前计算Z用得最q泛的字W集?qing)其~码Q是q国国家标准局(ANSI)制定的ASCII码(American Standard Code for Information InterchangeQ美国标准信息交换码Q,它已被国际标准化l织QISOQ定为国际标准,UCؓ(f)ISO 646标准。适用于所有拉丁文字字母,ASCII码有7位码?位码两种形式?<br><br>因ؓ(f)1位二q制数可以表C(21=Q?U状态:(x)0?Q?位二q制数可以表C(22Q?4U状态:(x)00?1?0?1Q依ơ类推,7位二q制数可以表C(27=Q?28U状态,每种状态都唯一地编Z?位的二进制码Q对应一个字W(或控制码Q,q些码可以排列成一个十q制序号0?27。所以,7位ASCII码是用七位二q制数进行编码的Q可以表C?28个字W?<br><br>W??2号及(qing)W?27??4?是控制字W或通讯专用字符Q如控制W:(x)LFQ换行)、CRQ回车)、FFQ换)、DELQ删除)、BELQ振铃){; <br>通讯专用字符QSOHQ文_(d)、EOTQ文)、ACKQ确认){; <br><br>W?3?26??4?是字W,其中W?8?7号ؓ(f)0?十个阿拉伯数字;65?0号ؓ(f)26个大写英文字母,97?22号ؓ(f)26个小写英文字母,其余Z些标点符受运符L(fng)?<br><br>注意Q在计算机的存储单元中,一个ASCII码值占一个字?8个二q制?Q其最高位(b7)用作奇偶校验位。所谓奇偶校验,是指在代码传送过E中用来(g)验是否出现错误的一U方法,一般分奇校验和偶校验两U。奇校验规定Q正的代码一个字节中1的个数必L奇数Q若非奇敎ͼ则在最高位b7?Q偶校验规定Q正的代码一个字节中1的个数必L偶数Q若非偶敎ͼ则在最高位b7??<br><br><br>Unicode码:(x)Unicode码也是一U国际标准编码,采用二个字节~码Q与ANSI码不兼容。目前,在网l、Windowspȝ和很多大型Y件中得到应用?br> <img src ="http://www.aygfsteel.com/OpenCloseD/aggbug/122754.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/OpenCloseD/" target="_blank">开?/a> 2007-06-08 01:22 <a href="http://www.aygfsteel.com/OpenCloseD/archive/2007/06/08/122754.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java打包发布http://www.aygfsteel.com/OpenCloseD/archive/2006/11/14/81065.html开?/dc:creator>开?/author>Tue, 14 Nov 2006 02:21:00 GMThttp://www.aygfsteel.com/OpenCloseD/archive/2006/11/14/81065.htmlhttp://www.aygfsteel.com/OpenCloseD/comments/81065.htmlhttp://www.aygfsteel.com/OpenCloseD/archive/2006/11/14/81065.html#Feedback0http://www.aygfsteel.com/OpenCloseD/comments/commentRss/81065.htmlhttp://www.aygfsteel.com/OpenCloseD/services/trackbacks/81065.html 打包发布

Z么会(x)有这个玩意呢Q首先,q是jar的全Uͼ(x)JavaTM Archive (JAR) fileQ是的,是java存档文g。这有点cMzip文gQ想一惛_是干什么的用的呢,压羃Q?没错是要压~,我们原先零散的东西攑ֈ一下,重新l织Q所有这些目的只有一个:(x)方便Q好了,不用他是怎么压羃的,我们的重Ҏ(gu)哪些是我们要压羃?输入)Q还有压~成了什?输出)Q进而将它发?部v)?

那我们的输入(要压~的东西)主要是class文gQ还有辅助的资源(q其中可能有囄Qjsp文gQhtml文g{等)。Jar技术在jdk1.1版本中就已存在,?.2中又有了增强。接下来说说jar的好处吧Q这是官方的描述Q安全,快速下载,压羃Q猎取包Q版本化包,可携?

说了q么多,我们现在开始实施?

先打开命o(h)提示W?win2000或在q行{里执行cmd命o(h)Qwin98为DOS提示W?Q输入jar –help,然后回R(如果你盘上已l有了jdk1.1或以上版?Q看C么:(x)

用法Qjar {ctxu}[vfm0Mi] [jar-文g] [manifest-文g] [-C 目录] 文g?...

选项Q?

-c 创徏新的存档
-t 列出存档内容的列?
-x 展开存档中的命名的(或所有的〕文?
-u 更新已存在的存档
-v 生成详细输出到标准输Z
-f 指定存档文g?
-m 包含来自标明文g的标明信?
-0 只存储方式;未用ZIP压羃格式
-M 不生所有项的清单(manifest〕文?
-i 为指定的jar文g产生索引信息
-C 改变到指定的目录Qƈ且包含下列文Ӟ(x)

如果一个文件名是一个目录,它将被递归处理?

清单Qmanifest〕文件名和存档文件名都需要被指定Q按'm' ?'f'标志指定的相同顺序?

CZ1Q将两个class文g存档C个名?'classes.jar' 的存档文件中Q?
jar cvf classes.jar Foo.class Bar.class

CZ2Q用一个存在的清单QmanifestQ文?'mymanifest' ?foo/ 目录下的所有文件存档到一个名?'classes.jar' 的存档文件中Q?
jar cvfm classes.jar mymanifest -C foo/ .

来个例子试试看Q?
我们只有一个HelloWorldQ如下:(x)

public class HelloWorld{
public static void main(String[] args){
System.out.println(“Hi, Hello World!?;
}
}



我将q个java文g存到C盘跟目录下,okQ接下来Q?

在先前打开的命令提C符?跌{到C盘提C符?Q我们输入javac HelloWorld.javaQ然后l输入:(x)jar cvf hello.jar HelloWorld.classQ回车后M的C盘看看,多了什么,没错 hello.jar ?

基本的步骤我们现在都知道了,你可以自己去试一下随着jar后面的参数的不同Q结果有什么变化?

紧接着我们看看如何q行我们的jar包?

在进入正题之前,你要先打开我们刚刚做好的jar包看看,多了什么呢QMETA-INF目录Q再看看里面是什么,q有一个MANIFEST.MF文g是不是?用文本编辑器(我这里是UltraEdit)打开它看看:(x)
Manifest-Version: 1.0
Created-By: 1.4.2 (Sun Microsystems Inc.)

是q样。这里我们对它进行修改,加一句:(x)Main-Class: HelloWorld (在第三行)。这个就是我们之前写的那个类Q也是我们的入口类。也卻I
Manifest-Version: 1.0
Created-By: 1.4.2 (Sun Microsystems Inc.)
Main-Class: HelloWorld

接下来,我们在命令提C符里执行:(x)
jar umf MANIFEST.MF app.jar

q样我们使用了我们自qMANIFEST.MF文g对原来默认的q行了更新。你不妨可以再进ȝ看是不是M了Main-Class: HelloWorldq一句?

OkQ这个最后的一步了Q来验证我们做的一切,在命令提C符中输入:(x)
java -jar hello.jar(执行)

出现了什么,――Hi, Hello World!
我们再来看看jar文g在tomcat中发布,注意Q在tomcat中我们就不能再用jarq种格式Q而改war格式Q它是专门用于web应用的,其实整个q程下来基本上和jar是类似的Q?

先准备我们要打包的资源?

扑ֈ存放tomcat的webapps目录Q进到其中,新徏一个文件夹Q这里命名ؓ(f)helloQ再q去新徏WEB-INF文g夹,再进L建classes文g夹,此时我们也将我们唯一的servletQHelloWorld.java攑ֈq里Q在与classes目录同下徏立一文gweb.xml。OkQ目前我们初步徏立了一个简单的web应用。?br />
在命令提C符下进到先前创制的hello目录下,执行 jar cvf hello.war * Q我们便得到hello.war。将它拷贝至webapps目录下,okQ来看最后一步,打开tomcat的目录conf中的server.xmlQ加入:(x)
reloadable="true"/>
大功告成Q运行它Q启动tomcatQ后在浏览器中输入http://localhost:8080/hello/HelloWorldQ有了吗Q?

好了Q就q么多,希望对你有点帮助?/font>


补充Q?
############

jar基本操作Q?

############

1. 创徏jar文g
jar cf jar-file input-file(s)
c---want to Create a JAR file.
f---want the output to go to a file rather than to stdout.
eg: 1)jar cf myjar.jar query_maintain_insert.htm
2)jar cvf myjar.jar query_maintain_insert.htm
v---Produces verbose(详细? output.
3)jar cvf myjar.jar query_maintain_insert.htm mydirectory
4)jar cv0f myjar.jar query_maintain_insert.htm mydirectory
0---don't want the JAR file to be compressed.
5)jar cmf MANIFEST.MF myjar.jar yahh.txt
m---Used to include manifest information from an existing manifest file.
6)jar cMf MANIFEST.MF myjar.jar yahh.txt
M---the default manifest file should not be produced.
7)jar cvf myjar.jar *
*---create all contents in current directory.
2. 察看jar文g
jar tf jar-file
t---want to view the Table of contents of the JAR file.
eg: 1)jar vft yahh.jar
v---Produces verbose(详细? output.
3. 提取jar文g
jar xf jar-file [archived-file(s)]
x---want to extract files from the JAR archive.
eg: 1)jar xf yahh.jar yahh.txt(仅提取文件yahh.txt)
2)jar xf yahh.jar alex/yahhalex.txt(仅提取目录alex下的文gyahhalex.txt)
3)jar xf yahh.jar(提取该jar包中的所有文件或目录)
4. 修改Manifest文g
jar cmf manifest-addition jar-file input-file(s)
m---Used to include manifest information from an existing manifest file.

5. 更新jar文g

jar uf jar-file input-file(s)
u---want to update an existing JAR file.  



]]>
ORACLE触发?/title><link>http://www.aygfsteel.com/OpenCloseD/archive/2006/10/16/75331.html</link><dc:creator>开?/dc:creator><author>开?/author><pubDate>Sun, 15 Oct 2006 17:03:00 GMT</pubDate><guid>http://www.aygfsteel.com/OpenCloseD/archive/2006/10/16/75331.html</guid><wfw:comment>http://www.aygfsteel.com/OpenCloseD/comments/75331.html</wfw:comment><comments>http://www.aygfsteel.com/OpenCloseD/archive/2006/10/16/75331.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/OpenCloseD/comments/commentRss/75331.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/OpenCloseD/services/trackbacks/75331.html</trackback:ping><description><![CDATA[ <p> <font color="#deb887">触发器是一U特D的存储q程Q它在插入,删除或修改特定表中的数据时触发执行,它比数据库本w标准的功能有更_和更复杂的数据控制能力。数据库触发器有以下的作用:(x)</font> </p> <p> <font color="#deb887">* 安全性。可以基于数据库的g用户h操作数据库的某种权利?/font> </p> <p> <font color="#deb887"># 可以Z旉限制用户的操作,例如不允怸班后和节假日修改数据库数据?/font> </p> <p> <font color="#deb887"># 可以Z数据库中的数据限制用L(fng)操作Q例如不允许股票的h(hun)格的升幅一ơ超q?0%?/font> </p> <p> <font color="#deb887">* 审计。可以跟t用户对数据库的操作?/font> </p> <p> <font color="#deb887"># 审计用户操作数据库的语句?/font> </p> <p> <font color="#deb887"># 把用户对数据库的更新写入审计表?/font> </p> <p> <font color="#deb887">* 实现复杂的数据完整性规则?/font> </p> <p> <font color="#deb887"># 实现非标准的数据完整性检查和U束。触发器可生比规则更ؓ(f)复杂的限制。与规则不同Q触发器可以引用列或数据库对象。例如,触发器可回退M企图吃进过自己保证金的期货?/font> </p> <p> <font color="#deb887"># 提供可变的缺省倹{?/font> </p> <p> <font color="#deb887">* 实现复杂的非标准的数据库相关完整性规则。触发器可以Ҏ(gu)据库中相关的表进行连环更新。例如,在auths表author_code列上的删除触发器可导致相应删除在其它表中的与之匹配的行?/font> </p> <p> <font color="#deb887"># 在修Ҏ(gu)删除时联修Ҏ(gu)删除其它表中的与之匹配的行?/font> </p> <p> <font color="#deb887"># 在修Ҏ(gu)删除时把其它表中的与之匹配的行设成NULL倹{?/font> </p> <p> <font color="#deb887"># 在修Ҏ(gu)删除时把其它表中的与之匹配的行联设成缺省倹{?/font> </p> <p> <font color="#deb887"># 触发器能够拒l或回退那些破坏相关完整性的变化Q取消试图进行数据更新的事务。当插入一个与其主健不匚w的外部键Ӟq种触发器会(x)起作用。例如,可以在books.author_code列上生成一个插入触发器Q如果新gauths.author_code列中的某g匚wӞ插入被回退?/font> </p> <p> <font color="#deb887">* 同步实时地复制表中的数据?/font> </p> <p> <font color="#deb887">* 自动计算数据|如果数据的DC一定的要求Q则q行特定的处理。例如,如果公司的帐号上的资金低?万元则立即给财务人员发送警告数据?/font> </p> <p> <font color="#deb887">ORACLE与SYBASE数据库的触发器有一定的区别Q下面将分别讲述q两U数据库触发器的作用和写法?/font> </p> <p> <font color="#deb887">?ORACLE 触发?/font> </p> <p> <font color="#deb887">ORACLE产生数据库触发器的语法ؓ(f)Q?/font> </p> <p> <font color="#deb887">create [or replace] trigger 触发器名 触发旉 触发事g</font> </p> <p> <font color="#deb887">on 表名</font> </p> <p> <font color="#deb887">[for each row]</font> </p> <p> <font color="#deb887">pl/sql 语句</font> </p> <p> <font color="#deb887">其中Q?/font> </p> <p> <font color="#deb887">触发器名Q触发器对象的名U。由于触发器是数据库自动执行的,因此该名U只是一个名Uͼ没有实质的用途?/font> </p> <p> <font color="#deb887">触发旉Q指明触发器何时执行Q该值可取:(x)</font> </p> <p> <font color="#deb887">before---表示在数据库动作之前触发器执行;</font> </p> <p> <font color="#deb887">after---表示在数据库动作之后出发器执行?/font> </p> <p> <font color="#deb887">触发事gQ指明哪些数据库动作?x)触发此触发器?x)</font> </p> <p> <font color="#deb887">insertQ数据库插入?x)触发此触发器?/font> </p> <p> <font color="#deb887">updateQ数据库修改?x)触发此触发器?/font> </p> <p> <font color="#deb887">deleteQ数据库删除?x)触发此触发器?/font> </p> <p> <font color="#deb887">?名:(x)数据库触发器所在的表?/font> </p> <p> <font color="#deb887">for each rowQ对表的每一行触发器执行一ơ。如果没有这一选项Q则只对整个表执行一ơ?/font> </p> <p> <font color="#deb887">举例Q下面的触发器在更新表auths之前触发Q目的是不允许在周末修改表:(x)</font> </p> <p> <font color="#deb887">create trigger auth_secure</font> </p> <p> <font color="#deb887">before insert or update or delete //Ҏ(gu)表更新前触发</font> </p> <p> <font color="#deb887">on auths</font> </p> <p> <font color="#deb887">begin</font> </p> <p> <font color="#deb887">if(to_char(sysdate,'DY')='SUN'</font> </p> <p> <font color="#deb887">RAISE_APPLICATION_ERROR(-20600,'不能在周末修改表auths');</font> </p> <p> <font color="#deb887">end if;</font> </p> <p> <font color="#deb887">end</font> </p> <p> <font color="#deb887">?SYBASE数据库触发器</font> </p> <p> <font color="#deb887">SYBASE数据库触发器的作用与ORACLE非常cMQ仅有较?yu)的差异?/font> </p> <p> <font color="#deb887">SYBASE产生触发器的语法为:(x)</font> </p> <p> <font color="#deb887">CREATE TRIGGER 触发器名</font> </p> <p> <font color="#deb887">ON 表名</font> </p> <p> <font color="#deb887">FOR INSERTQUPDATEQDELETE</font> </p> <p> <font color="#deb887">AS</font> </p> <p> <font color="#deb887">SQL_statement |</font> </p> <p> <font color="#deb887">FOR INSERTQUPDATE</font> </p> <p> <font color="#deb887">AS</font> </p> <p> <font color="#deb887">IF UPDATE(column_name) [AND|OR UPDATE(column_name)]...</font> </p> <p> <font color="#deb887">SQL_statements</font> </p> <p> <font color="#deb887">上面FOR子句用来指定在触发器上的哪些数据更新命o(h)可激z该触发器。IF UPDATE子句(g)查对指定列的操作cdQ在IF UPDATE子句中可指定多个列?/font> </p> <p> <font color="#deb887">与ORACLE不同Q对于每条SQL语句Q触发器只执行一ơ。触发器在数据更新语句完成以后立x行。触发器和启动它的语句被当作一个事务处理,事务可以在触发器中回退?/font> </p> <p> <font color="#deb887">下面举例说明SYBASE触发器的写法?/font> </p> <p> <font color="#deb887">create trigger forinsert_books</font> </p> <p> <font color="#deb887">on books</font> </p> <p> <font color="#deb887">for insert</font> </p> <p> <font color="#deb887">as</font> </p> <p> <font color="#deb887">if(select count(*) from auths,inserted</font> </p> <p> <font color="#deb887">where auths.author_code=insert.author_code)!=@@rowcount</font> </p> <p> <font color="#deb887">begin</font> </p> <p> <font color="#deb887">rollback transaction</font> </p> <p> <font color="#deb887">print "books 表中 author_code 列的值在auths 表中不存在?</font> </p> <p> <font color="#deb887">end</font> </p> <img src ="http://www.aygfsteel.com/OpenCloseD/aggbug/75331.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/OpenCloseD/" target="_blank">开?/a> 2006-10-16 01:03 <a href="http://www.aygfsteel.com/OpenCloseD/archive/2006/10/16/75331.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于dom4j的解?/title><link>http://www.aygfsteel.com/OpenCloseD/archive/2006/10/06/73497.html</link><dc:creator>开?/dc:creator><author>开?/author><pubDate>Thu, 05 Oct 2006 16:16:00 GMT</pubDate><guid>http://www.aygfsteel.com/OpenCloseD/archive/2006/10/06/73497.html</guid><wfw:comment>http://www.aygfsteel.com/OpenCloseD/comments/73497.html</wfw:comment><comments>http://www.aygfsteel.com/OpenCloseD/archive/2006/10/06/73497.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/OpenCloseD/comments/commentRss/73497.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/OpenCloseD/services/trackbacks/73497.html</trackback:ping><description><![CDATA[ <p> <font color="#deb887"> <strong>实际跟jdom 有相似的地方 主要?br />JDOM用SAXBuilder<br />DOM4J用SAXReader<br />形成doc 然后<br />输出的方式也不太一?br />jdom用XMLOutput<br />生成格式<br />然后又xop.setput(doc,os)<br />把输入流和doc当作参数<br />?br />dom4j则是<br />创徏一?XMLWriter(os,format)<br />format是格?br />然后׃写器书写(doc)<br />writer.writer(doc)</strong> <br /> <br />例如Qdom4j的code 为:(x)<br /><br />import java.io.File;<br />import java.io.FileNotFoundException;<br />import java.io.FileOutputStream;<br />import java.io.IOException;<br />import java.io.OutputStream;<br />import java.io.UnsupportedEncodingException;<br />import java.net.MalformedURLException;<br />import java.util.Iterator;<br />import java.util.List;</font> </p> <p> <font color="#deb887">import org.dom4j.Document;<br />import org.dom4j.DocumentException;<br />import org.dom4j.Element;<br />import org.dom4j.io.OutputFormat;<br />import org.dom4j.io.SAXReader;<br />import org.dom4j.io.XMLWriter;</font> </p> <p> <font color="#deb887">public class parsedom4j {</font> </p> <p> <font color="#deb887"> /**<br />  * @param args<br />  */<br /> public static void main(String[] args) {<br />  // TODO 自动生成Ҏ(gu)存根<br />  parsedom4j j=new parsedom4j();<br />  j.delete();<br />  <br /> }<br /> public void update(){<br />   SAXReader parser=new SAXReader();<br />   String path="D:/Example10.xml";<br />   File file=new File(path);<br />         try {<br />    Document doc=parser.read(path);<br />   Element root=doc.getRootElement();<br />   Iterator iter=root.elementIterator();<br />   while(iter.hasNext()){<br />    Element child=(Element)iter.next();<br />    Iterator childchilds=child.elementIterator();<br />    boolean isCorrect=false;<br />    while(childchilds.hasNext()){<br />     Element childchild=(Element)childchilds.next();<br />     if(childchild.getName().equalsIgnoreCase("title")&&childchild.getTextTrim().equalsIgnoreCase("b")){<br />       isCorrect=true;<br />     }if(childchild.getName().equalsIgnoreCase("email")&&isCorrect)<br />     {<br />        childchild.setText("西安@163.com"); <br />      }<br />    }<br />   }<br />   OutputFormat format=new OutputFormat();<br />   format.setEncoding("gb3212");<br />   format.setNewlines(true);<br />         OutputStream os=new FileOutputStream(path);<br />   XMLWriter writer=new XMLWriter(os,format);<br />   writer.write(doc);<br />   os.close();<br />   writer.close();<br />   <br />   <br />  } catch (MalformedURLException e) {<br />   // TODO 自动生成 catch ?br />   e.printStackTrace();<br />  } catch (Exception e) {<br />   // TODO 自动生成 catch ?br />   e.printStackTrace();<br />  }<br /> }<br /> <br /> public void delete(){<br />  Element de=null;<br />  SAXReader reader=new SAXReader();<br />  String path="D:/Example10.xml";<br />  Document doc;<br /> try {<br />  doc = reader.read(path);<br />  Element root=doc.getRootElement();<br />  List children=root.elements();<br />  for(int i=0;i<children.size();i++){<br />   Element child=(Element)children.get(i);<br />   List childchilds=child.elements();<br />   for(int j=0;i<childchilds.size();j++){<br />   Element e=(Element)childchilds.get(i);<br />   if(e.getName().equalsIgnoreCase("email")){<br />    de=e;<br />    childchilds.remove(j);<br />   }<br />   }<br />  }<br /> } catch (DocumentException e) {<br />  // TODO 自动生成 catch ?br />  e.printStackTrace();<br /> }<br />     <br />  <br />    <br />      <br />     <br />  <br /> }</font> </p> <p> <font color="#deb887">   <br />   <br />   <br /> </font> </p> <p> <font color="#deb887"> public parsedom4j() {<br />  super();<br />  // TODO 自动生成构造函数存?br /> }</font> </p> <p> <font color="#deb887">}<br /></font> </p> <img src ="http://www.aygfsteel.com/OpenCloseD/aggbug/73497.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/OpenCloseD/" target="_blank">开?/a> 2006-10-06 00:16 <a href="http://www.aygfsteel.com/OpenCloseD/archive/2006/10/06/73497.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">˳</a>| <a href="http://" target="_blank">ƽ</a>| <a href="http://" target="_blank">Ϫ</a>| <a href="http://" target="_blank">߱</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">޻</a>| <a href="http://" target="_blank">ͺ</a>| <a href="http://" target="_blank">ʯ</a>| <a href="http://" target="_blank">մ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">մ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">տ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ͼ</a>| <a href="http://" target="_blank">̨</a>| <a href="http://" target="_blank">ʲ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ƽ</a>| <a href="http://" target="_blank">׶</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">޶</a>| <a href="http://" target="_blank">¡Ң</a>| <a href="http://" target="_blank">ƽ</a>| <a href="http://" target="_blank">ͨμ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ӻ</a>| <a href="http://" target="_blank">Դ</a>| <a href="http://" target="_blank">Ϳ</a>| <a href="http://" target="_blank">ƽ</a>| <a href="http://" target="_blank">ˮ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ƽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ɽ</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>