2009年11月30日星期一

gmail企业邮箱申请攻略

用免费Email的朋友应该都知道Google的Gmail吧,但是关于Google提供的企业邮箱虽然有人知道但是注册使用的还不是很多,现在很多DNS服务商都有推出买空间赠送免费企业邮局,小飞龙之前也体验过这种赠送的企业邮局,使用感觉非常差,收发邮件经常出错,跟一些免费的邮箱都没得比。Google企业邮局除了邮件功能和容量跟Gmail一样外,就是能使用自己的网站域名作为自己邮箱的后缀,除了极具个性化之外,做外贸的朋友用这样的邮箱更能让国外买家觉得专业并能提供你的信任度。在这里小飞龙就不多说废话了,现在就教大家怎么申请Google免费企业邮箱,让大家体验Google免费企业邮局带来的新惊喜。
申请地址:https://www.google.com/a/help/intl/zh-CN/admins/editions.html
目前注册貌似不支持.CN/.TW/HK的中国域名。
填写申请时需要注意几点:
1.申请的用户数量最好不要超过500,我之前申请的时候最多能申请1000个,但是好像现在默认最多就是50个用户了。
2.管理员的备用邮箱建议用Gmail邮箱,忘记密码时可通过备用邮箱找回。
3.所在国家请选择美国,电话请填写212 555 5555。
4.组织机构的名称一般可以忽略,但是我一般填写的是该域名对应的网站名称。
5.组织性质一般我填写的是非盈利组织。
其他信息可以随便填写,这些步骤完成之后就用你设置的管理员账号进入控制台,现在有两件事情需要做:
第一就是验证域名的所有权,有2种验证方法,选择其一就好了。
第二就是做邮件服务器的MX记录,优先级的值可以不按照以下的数字,但是做记录的顺序一定要按照以下的顺序。
优先级 邮件服务器
10 ASPMX.L.GOOGLE.COM.
20 ALT1.ASPMX.L.GOOGLE.COM.
30 ALT2.ASPMX.L.GOOGLE.COM.
40 ASPMX2.GOOGLEMAIL.COM.
50 ASPMX3.GOOGLEMAIL.COM.
60 ASPMX4.GOOGLEMAIL.COM.
70 ASPMX5.GOOGLEMAIL.COM.
上面工作做完以后就是等邮件服务器生效了,一般是30分钟到2个小时就OK了。

2009年11月17日星期二

MAC 64 SNOWLEOPARD

至于你的Mac是否支持64位的内核, 主要看你的Mac是否有64-bit EFI, 请打开终端窗口, 输入:
ioreg -l -p IODeviceTree | grep firmware-abi
终端会返回“EFI32″ or “EFI64.”
当然, 如果你觉得每次开机都要按住"6"和"4"很麻烦, 那还有个一劳永逸的方法:
打开 /Library/Preferences/SystemConfiguration/com.apple.Boot.plist

Kernel Flags

替换成
Kernel Flags
arch=x86_64
一切就OK了.

2009年10月21日星期三

海量 PS滤镜 注册码(序列号)

海量 PS滤镜 注册码(序列号)

声明:本页所有注册之号码全部来源于网络,经搜集整理所得。

目的:交流学习,请注册者于24小时内将所注册之软件删除,呵呵。

页内搜索请按Ctrl+F,为提高查找几率,最好不要全名搜索

希望本页内容能给大家带来帮助。



Xenofex1.0 Alien Skin公司出品的最新滤镜,PHOTOSHOP爱好者必备的利器,可以
作闪电,白云,蓝天,中古的电视效果,PUZZLE风格等等上百种效果。
S/N: JKGDDBEEKLCH

EyeCandy v3.0.1 Alien Skin出品的著名滤镜,绝对经典!s/n: IIIGEBFHMJNB

Eye Candy V4.0 用于PHOTOSHOP的眼睛糖果滤镜。序列号:BFNMMHPENCCI

HVS ColorGIF/JPEG 2.0.7 s/n: MG6054

HVS ColorGIF/JPEG 2.1.2 s/n: MJ6061

HVS ColorGIF/JPEG 2.x 11Code: 2147483627
100Code: 2147483459

Vizros4.0外挂滤镜

SN:88785814277450714473

PhotoAnimator1.0 PhotoTools 3.06us 组件之一,可用于制作动画(可单独使用)。SN:HCE-200-111-535-111111

PhotoBevel2.0 PhotoTools 组件之一:斜面控制滤镜(可单独使用)。SN:HCE-200-111-535-111111

PhotoButton2.0 PhotoTools 组件之一:按钮控制滤镜(可单独使用)。SN:HCE-200-111-535-111111

PhotoCastShadow2.0PhotoTools 组件之一:阴影控制滤镜(可单独使用)。 SN:HCE-200-111-535-111111

PhotoEmboss2.0 PhotoTools 组件之一:浮雕控制滤镜(可单独使用)。SN:HCE-200-111-535-111111

PhotoFrames2.0 PhotoShop的滤镜。SN:BCE-100-254-840-921951

PhotoGlow2.0 PhotoTools 组件之一:辉光控制滤镜(可单独使用)。SN:HCE-200-111-535-111111

PhotoGraphics2.0 PhotoShop 滤镜,可以延路径写字,做任意形状的图形进行混合填充。
SN:HCE-200-111-535-111111

PhotoText2.0 PhotoTools 组件之一:文本控制滤镜(可单独使用)。
SN:HCE-200-111-535-111111

PhotoTools2.0 Extensis公司生产的滤镜,内含工具栏控件、斜面控制滤镜、按钮控制滤镜、
阴影控制滤镜、浮雕控制滤镜、辉光控制滤镜、文本控制滤镜等七个组件,
令你的 PhotoShop 如虎添翼。SN: HCE-200-111-535-111111

Plugin Manager2.0 Photoshop 功能固然强大 ,但令人讨厌的是在滤镜菜单中可显示的滤镜数量
有限,随着大量滤镜插件的安装, 许多不同类别的常用滤镜会被挤到二级菜
单中,使用时极为不便。它可为我们解决这一令人头痛的问题。
SN: HCE-200-111-535-111111

Sketch Effect1.0 专门用来生成素描效果的处理软件,可生成马赛克效果、凡高画、点画法、
彩色铅笔、碳笔画、黑白照片等效果。s/n: SMKB8MMKZ6SM8EV s/n: SMCPDYYQB9DQVZ

Sketch 2.0 s/n: SMZMP22W2CD6CER s/n: SMDFQHB3THRH4LJ s/n: SMFRZ9CQG7ZWQ86

Alias Sketch 1.5 s/n: SMDFQHB3THRH4LJ

Alias Sketch 2.0 s/n: SMFRZ9CQG7ZWQ86 s/n: SMZMP22W2CD6CER s/n: SMDFQHB3THRH4LJ

Alias Sketch 2.0.1J s/n: SMZMP22W2CD6CER s/n: SM9EMHY6L69RL5E

Alias Sketch 2.0J s/n: SMASFSZG8UE761N

Toadies1.0 216plug-ins系列滤镜,含4支滤镜。

Xenofen1.0 这是 ALIEN SKIN 公司出品的 PHOTOSHOP滤镜组,与“眼睛糖果”是同胞哩。
内含“闪电”等滤镜16支。 S/N: JKGDDBEEKLCH


SIGGRAPH99 3D 最强多功能插件,主要应用于3DMAX系列、MAMA系列、
PHOTOSHOP系列、SOFTIMAGE系列。

EyeCandy4.0 Alien Skin出品的著名滤镜最方便,也是最优秀的
PHOTOSHOP外挂插件。 序列号:BFNMMHPENCCI

kpt7.0 功能最强大的PHOTOSHOP图形滤镜插件, 序列号:TF70CUM-0190331-MHS TF70CRD-0018269-JVR


KPT6.0 功能最强大的PHOTOSHOP图形滤镜插件,我最喜欢的 。SN: TF60WRD-0022525-UHV


Kai\'s Super Goo 照片变形软件,想象一下把照片上的人的眼睛变得有
电灯泡那么大,然后再把这个过程做成一段动画,爽
吧? Kai\'s Super Goo解压缩以后,除安装文件以外
还有一个supergoo.exe 安装完以后把这个文件copy
到安装目录里就可以了,s/n: 18051-099293-04099


Extensis Eye Candy 3.1 ALIEN SKIN的滤镜,这是3.10版。比黑盒子更多功能
,并且可以预览不同比例下的特殊效果。SN: IIIGEBFHMJNB

Extensis PhotoTools 3.0 它既是PHOTOSHOP的增强工具栏,本身又提供很多滤
镜,作为PHOTOSHOP的使用者,这个能帮你省去不少
麻烦,另外,他的SHADOW和EMBOSS滤镜我觉得弥补了
EYECANDY的不足,正好互补,呵呵!!这次可是真的
3.0了,支持PHOTOSHOP5.x. S/N: HCE-300-000-607-233233

Flare Effects 2.0 Axion出品的著名滤镜,绝对经典!
nameASavant [AnThraX]
Code:12LJPN1GLP

MaskPro v2.0 Extensis出品的著名滤镜,绝对经典!
S/N: MCE-200-111-541-111111

Glow-n-Sparkle 2.0 Axion出品的著名滤镜,绝对经典!
nameASavant [AnThraX]
Code:ADLFBSWUKK

Intellihance v3.02 Extensis出品的著名滤镜,绝对经典!SN: ICE-300-111-689-111111

PhotoOptics Cytopia出品的著名滤镜,绝对经典!s/n: POW1000579484

Photographics 1.01 s/n: GCE-100-391-511-857091 s/n: GCE-100-123-022-123456

Photographics 1.0 s/n: GCG-064-567-490-345678

PhotoFrame v1.0 Extensis出品的著名滤镜,绝对经典! sn: BCE-100-254-840-921951

Four Seasons v1.0 这个效果不错. SN:4SP-W-01-9999999-9999999-9999999

Four Seasons 1.12 Name: PEIDO98 s/n: 6865135


KPT Equalizer
s/n: KE10WCD-0045107-HBL


MetaCreations KPT Equalizer 1.0
s/n: KE10WCD-0058536-KNZ


KPT Equalizer 1.0
s/n: KE50MCD-0000705-RUN
s/n: KE10MCD-0004486-HWH
s/n: KE10MCD-0005547-SXV
s/n: KE10MCD-0004232-TJM


1.Alien Skin Eye Candy 5 Textures 正式版
Name: swcool

Code: swcool.com

Sn: HCEAMGDFLEHF

2.Alien Skin Eye Candy 5 Nature Final 正式版

Name:ttdown.com

Company:ttdown.com

Code:GBIJBDHMHCPF

3.Auto FX Software Mystical Lighting 1.0 (Windows)

Serial Number: 71-294390800-0745941-M1200381205

4.Extensis Photoframe 2.5

s/n:BWE-250-593-532-053192 or BWE-250-097-041-333151 or BFE-250-779-250-387577

5.Flaming Pear SolarCell v1.50

sn:1550952

6.Flaming Pear Flood v1.12

sn:1368135

7.Flaming Pear Superblade Pro For Photoshop v1.42

sn:877799-1010579-1024834

8.HumanSoftware Automask v4.6

sn:AWK445522982

9.Humansoftware Classicframes v1.61 Vol.1-6(缺Vol.4)

sn分别为:

Vol1 CFW152765230

Vol2 CFW144765155

Vol3 CFW144765194

Vol5 CFW153765244

Vol6 CFW154765264

好像一次安装后输一个sn就可以了

10.Kodak系列

Kodak Eastman Digital ROC Pro for Photoshop v1.0.2 Final 正式版 Name:ttdown.com Mail:ttdown@ttdown.com Code:R8Z1T8VYYT8-5P26X8

Kodak Eastman Digital SHO Pro for Photoshop v1.0.3 Final 正式版 Name:ttdown.com Mail:ttdown@ttdown.com Code:SHPW18V46A4-N98R4F

Kodak Eastman Digital Gem AirBrush Pro for Photoshop v1.0.1 Final Name:ttdown.com Mail:ttdown@ttdown.com Code:AQCT286YA6Q-9SU5P2

Kodak Eastman Digital Gem Professional for Photoshop v1.0.1 Final Name:ttdown.com Mail:ttdown@ttdown.com Code:GBX7T86JYQA-98R4F3

11.Phototune.2020.Color.MD.v1.1.2.for.Adobe.Photoshop

sn:5539374-4070

12.Phototune SkinTune V1.0.1
SN:ST5180769-4080
sn:ST3767115-2479

13.KPT7
sn:TF70CRD-0018269-JVR(这个也可能是KPT3的注册码)

sn:TF70CUM-0190331-MHS

14.Auto FX PHOTO GRAPHIC EDGES V6.0

sn: 97-6608015353-301133267-E1201466645

15.PictureCode NoiseNinja Plug-in For Adobe Photoshop v2.1.2 Final 正式版

sn:FADCFFFFFCFDFDFF00000653512024

16.DCE Tools for Photoshop Plugin 1.0

SN:466753673956133

UNLOCK:481292725819488

17.
Lokas Artistic Effects v1.8 for Adobe Photoshop

注册信息:
name:www.fangdown.com
sn:16970339405091067880106970213940320910427880100697020139403020910402788010006970200139403002091040027880213940320910302091040278801697033940320910427880427880100697016970101
photoshop滤镜注册码 【3】

建议用Ctrl+F键来搜索你需要的软件序列号
AlgoLab PtVectorName:plugins.126.com Company:plugins.126.com Emailne2000@21cn.com S/N:ALPVCFBHINCTMGOPQRM

Alien Skin Eye Candy 5 Textures

Name: swcool
Code: swcool.com
Sn: HCEAMGDFLEHF

Andromeda 3D Series II S/n: 5M30400120-0441
Andromeda Deluxe v3.0 S/n: 8P21103658-4949
Andromeda Measurement Filter for Photoshop S/n: 8P81150004-0184
Andromeda Series 2 3D Luxe Filter v3.0 S/n: 8P21103658-4949
Andromeda Series 3 Screen Filter S/n: 8P31250102-0417
Andromeda Shadow Filter S/n: 8P51050073-0351
Andromeda VariFocus v1.1 S/n: 8P61050127-1204
Andromeda Velociraptor S/n: 7P10210439-3367
andromeda series 4 techturesS/N: 6P41200450-1461

Asiva Shift+Gain v.1.1.for.Adobe.Photoshop
sn:2a8933d6829fbbca


Auto FX Software Mystical Lighting v1.0
sn:79-293080624-0887773-M1331199805


BeyondPress V4.0.1S/N:Name/Company: (Anything) s/n: CCE-400-162-285-319898

Kodak Digital Sho Pro(1.12或者1.13)
Name:www.ttdown.com
Email:ttdown@ttdown.com
Code:SHOW10-M6C0N-3O693

Eye Candy 4000S/N:DIJOMMHCPEOM
Eye Candy 3.01S/N:IIIGEBFHMJNB
Four Seasons 1.0随便输入NAME和COMPANY;输入#:4SP-W-01-9999999-9999999-9999999。


Flaming Pear solarCell

sn:3100831

Photo Frame v2.5

Name:jingwh
Code:BFE-250-779-250-387577

Intellihance Pro V4.0.3Name: Gogolie Company: Pirates with Attitudes s/n: IDE-400-200-502-000004


Kodak.EastmanDIGITAL GEM Airbrush Professional(for win2K and XP)
柯达近日新推出的Photoshop插件可以在实现去除皮肤瑕疵的同时保存头发、睫毛以及眉毛的细节,该插件16位色彩。
注册:
用户名:mikemike
地址:mike@kjcn.com
SN: AIRW1V8668J-87NF6W

Kodak.Eastman.Digital.SHO.Professional.v1.0.1
Name:litsen
Email:litsen@swcool
Registration Code: SHPW16ATF6A-6X87NF

Kodak Digital Sho Pro v1.0 for Photoshop
Name:www.jubaopen.com
Email:ppcn78@yahoo.com
Code:SHPW14FY6JA-98R4F3

Kodak.Eastman.Digital.ROC.Professional.v1.0.1
Name:litsen
Email:litsen@swcool
Registration Code: RCPW16AQFJA-6X87NF

Kodak.Eastman.Digital.GEM.Professional.v1.0.1
Name:litsen
Email:litsen@swcool
Registration Code: GMPW16AQ686-F6W3N9

各位试一下这是第一组磨皮功能注册码。

KODAK DIGITAL GEM airbrush pro v1.0.0注册码:

name: Bergelmir/CORE
e-mail: bergelmir@core.org
serial: AIRW1TQ6FA4-F2CG46

Kodak.Eastman.Digital.GEM. AirBrush.Professional.v1.0.1
Name:litsen
Email:litsen@swcool
Registration Code: AIRW1644YY6-3AM8F2

Nik Color Effects Pro 2.0正式版
SN:070403178hjcnplmbaingljhm


KPT 6.0S/N:TF60WRD-0022525-UHV
KPT 7.0S/N:TF70CRD-0018269-JVR或者:TF70CUM-0190331-MHS
KPT.Gel.V1.0.FinalS/N:KG50WCD-0000642-NAY
KPT Vector Effects V1.5 S/N: VF15WCD-0013744-PRN
Mask Pro 2.03usNemian/C:TNT!/S: MCE-200-653-194-432298
Mask Pro 2.04S/N:MCE-200-538-197-396076
page curl 1.2Name:Guo Meng Email:goldmoon@263.net Reg:XPZQOlgQSRkJOUiS
Panopticum Fire2.0(demo)S/N: F2P-159058-6020(名字、公司随便填)
PhotoTools 2.0usS/N: HCE-200-111-535-111111
PhotoGraaphics 1.01usNne / Cne2000.126.com / S:GCE-100-236-303-904673
Photo Frame v2.0S/N:BDE-200-690-896-042002
Photo Frame v1.0S/N:BCE-100-254-840-921951
Photo Graphic v1.01S/N:GCE-100-123-022-123456
Photo Graphic v1.0S/N:GCI-100-000-653-000000
Photo Tools v3.01S/N:HCE-300-000-607-233233
PhotoTools 3.06usS/N:HCE-300-000-607-233233
Plugin Manager 2.0S/N:SI99612331ICNE
Portfolio V5.0S/N:FFG-500-000-653-000000
ProJPEG 5.1 S/N: 167BK63H9T7G
ProJPEG 5.2 S/N: Y7QYKDADUGVM
Puzzle Pro 1.2 1570K Name :nitehawk2000 Email:123@abc.com Reg. :FNGGVPNPPHLZNYAT
Puzzle Pro 1.02Name:nitehawk2000 Email:123@abc.com Reg:FNGGVPNPPHLZNYAT
QX-Tools V4.0.2Name/Company: Versus s/n: QCE-400-001-210-220485
SymmetryWorks1.0 for AI9 S/N: 00NN9LWNSSMH44444P4KNNNKBAS
Universe 1.62(独立版)注册码:N:Cosmo Cramer/#:1337456056
Universe Image Creator Plug-ins 2000(滤镜版)注册码:N:one/#:1381716397
Xenofex 1.0S/N: JKGDDBEEKLCH
Xenofex 1.1S/N: HAOLLICHMIMM
AlienSkin Splat! s/n: CHDDEFGHGCFE7
AutoFX Dreamsuite series1 s/n: 71-297539648-0484921-D1200380233
AutoFX Dreamsuite 1.04 s/n: 71-288098994-0616282-D1200380602


AlgoLab PtVector
Name:plugins.126.com
Company:plugins.126.com
Emailne2000@21cn.com
S/N:ALPVCFBHINCTMGOPQRM

Andromeda 3D Series II
S/n: 5M30400120-0441

Andromeda Deluxe v3.0
/n: 8P21103658-4949

Andromeda Measurement Filter for Photoshop
S/n: 8P81150004-0184

Andromeda Series 2 3D Luxe Filter v3.0
S/n: 8P21103658-4949

Andromeda Series 3 Screen Filter
S/n: 8P31250102-0417

Andromeda Shadow Filter
S/n: 8P51050073-0351

Andromeda VariFocus v1.1
S/n: 8P61050127-1204

Andromeda Velociraptor
S/n: 7P10210439-3367

andromeda series 4 techtures
S/N: 6P41200450-1461

BeyondPress V4.0.1S/N:
Name/Company: (Anything)
s/n: CCE-400-162-285-319898

Eye Candy 4000
S/N:DIJOMMHCPEOM

Eye Candy 3.01
S/N:IIIGEBFHMJNB

Four Seasons 1.0
随便输入NAME和COMPANY;
输入#:4SP-W-01-9999999-9999999-9999999。

Intellihance Pro V4.0.3
Name: Gogolie
Company: Pirates with Attitudes
s/n: IDE-400-200-502-000004

KPT 6.0
S/N:TF60WRD-0022525-UHV

KPT 7.0
S/N:TF70CRD-0018269-JVR
或者:TF70CUM-0190331-MHS

KPT.Gel.V1.0.Final
S/N:KG50WCD-0000642-NAY

KPT Vector Effects V1.5
S/N: VF15WCD-0013744-PRN

Mask Pro 2.03usNemian/C:TNT!/S:
MCE-200-653-194-432298

Mask Pro 2.04
S/N:MCE-200-538-197-396076

page curl 1.2
Name:Guo Meng
Email:goldmoon@263.net
Reg:XPZQOlgQSRkJOUiS

Panopticum Fire2.0(demo)
S/N: F2P-159058-6020(名字、公司随便填)

PhotoTools 2.0us
S/N: HCE-200-111-535-111111

PhotoGraaphics 1.01
usNne / Cne2000.126.com /
S:GCE-100-236-303-904673

Photo Frame v2.0
S/N:BDE-200-690-896-042002

Photo Frame v1.0
S/N:BCE-100-254-840-921951

Photo Graphic v1.01
S/N:GCE-100-123-022-123456

Photo Graphic v1.0
S/N:GCI-100-000-653-000000

Photo Tools v3.01
S/N:HCE-300-000-607-233233

PhotoTools 3.06us
S/N:HCE-300-000-607-233233

Plugin Manager 2.0
S/N:SI99612331ICNE

Portfolio V5.0
S/N:FFG-500-000-653-000000

ProJPEG 5.1
S/N: 167BK63H9T7G

ProJPEG 5.2
S/N: Y7QYKDADUGVM

Puzzle Pro 1.2 1570K
Name :nitehawk2000
Email:123@abc.com
Reg. :FNGGVPNPPHLZNYAT

Puzzle Pro 1.02
Name:nitehawk2000
Email:123@abc.com
Reg:FNGGVPNPPHLZNYAT

QX-Tools V4.0.2
Name/Company: Versus
s/n: QCE-400-001-210-220485

SymmetryWorks1.0 for AI9
S/N: 00NN9LWNSSMH44444P4KNNNKBAS

Universe 1.62(独立版)
注册码:N:Cosmo Cramer
/#:1337456056 Universe

Image Creator Plug-ins 2000(滤镜版)
注册码:N:one/#:1381716397

Xenofex 1.0S/
N: JKGDDBEEKLCH

Xenofex 1.1
S/N: HAOLLICHMIMM

AlienSkin Splat!
s/n: CHDDEFGHGCFE7

AutoFX Dreamsuite series1
s/n: 71-297539648-0484921-D1200380233

AutoFX Dreamsuite 1.04
s/n: 71-288098994-0616282-D1200380602

2009年10月3日星期六

Illustrator path usage 路径的使用

1 合并

用直接选取工具选取两个不封闭路径的两个端点,再选取“对象/路径/合并”命令,会在此两个端点间连一条直线。两个不封闭的路径连成了一条不封闭的路径。当选取一个不封闭的路径的两个端点,应用此命令后,会形成一个封闭路径。
2 平均
“对象/路径/平均”命令也是针对锚点而言的。但它不限于端点,凡是锚点,不管是不是在一条路径上,还是在不同的路径上的锚点,只要选上就行。“平均”对话框工有三个选项:1 水平:它可把所选的锚点置于同一水平线上。2 垂直:它可把所选的锚点置于同一垂直线上。3 两者都:它可把所选的锚点相交于一点。
3 外框路径
“路径/外框路径”命令可令路径的沿笔画宽度形成一个封闭路径。并以笔画色填充它。
4 偏移路径
选取“路径/偏移路径”命令,弹出对话框,有下选择:1 偏移:在输入框内输入正值,路径会向外按此值形成一个嵌套路径。如输入为负值,则会向内形成一个嵌套路径。2 接合:分为尖角、圆角和斜角。3 斜角限量:与笔画面板上相同。
5 整理
整理就是要清除视图为预览模式下,不可见的以下三项:1 游离点2 未上色对象:实际指的是填充和笔画都是透明色的物体。3 空白文字路径。
6 切割
选上的路径,应用“路径/切割”命令后,会把在它上、下与它相交的对象都切割开。
7 添加锚点
选用“路径/添加锚点”命令后,所选上的路径中每两个锚点之间会添加一个锚点。

2009年10月2日星期五

使用SSL替代IPsec

  许多公司使用VPN向公司外部的员工提供企业网络接入。目前,大多数远程接入VPN都使用IP安全扩展(IPsec)加密在公共IP网络上传输的专用IP数据包。

  然而,随着员工队伍的增长和多元化,IPsec VPN客户对于最终用户来说是很麻烦的,对于网络管理员来说是成本是很高的。通过利用广泛应用的网络浏览器作为一个客户平台,SSL VPN设备将是提供一种简单而安全的外点访问专用企业服务和数据的有希望的替代方法。

  为什么使用SSL VPN设备?

  市场研究公司Gartner预测,到2008年,SSL VPN将成为主要的远程接入方式。三分之二以上的远程工作员工、四分之三的承包商和90%以上的需要随机访问企业网络的雇员都将采用这种方式。作为一个基于浏览器的解决方案,SSL VPN几乎能在任何系统上快速启动,不需要安装永久性的客户端软件。对于那些对管理旅行者和远程工作者的笔记本电脑感到厌烦以及那些需要不增加已经很沉重的IT工作量来扩大远程接入的企业来说,上述好处是有吸引力的。

  用户通常可以使用一台SSL VPN设备从家里的或者公共的PC上加入网络,在任何可用的互联网连接上获得直接的访问。一旦用户通过身份识别,组或者单个规则便允许访问SSL VPN设备后面的代表系统、服务和数据的URL.目标应用一般通过一个浏览器的窗口显示出来,由下载的ActiveX控件或者Java程序实施的。SSL或者其IETF(互联网工程任务组)的继任者TLS(传输层安全)将用于数据压缩、散列、加密和在用户和VPN设备之间的传输全部信息。总之,SSL VPN设备能够提供安全的访问,较少地依赖客户端软件。

  应用SSL VPN设备

  深入挖掘这个漂亮的外表,你将会发现SSL和IPsec VPN之间的巨大差别。例如,IPsec VPN提供访问具体的子网或者整个企业网络。连接的主机必须分配一个这个专用网络地址空间中的IP地址。因为SSL VPN提供具体URL地址的访问,资源规则可以更详细并且能过更容易地隐藏内部网络的结构。从网络工程师的观点看,SSL VPN整合更简单,因为这种设备能够在你防火墙的隔离区中使用,不用增加IP子网或者重新为IP子网编号。

  另一方面,IPsec VPN创建一个支持任何基于IP的应用程序的强大的、通用的应用程序。根据其设计,SSL VPN设备可能需要逐步努力支持新的应用。例如,详细的设置可能需要把URL镜像为应用对象,并且重写URL以便隐藏内部信息。每一个SSL VPN设备都支持通用商务应用程序,如企业电子邮件和网络文件系统访问等。但是,专有的或者复杂的应用需要客户介入开发或者需要客户方面的端口转发代码。因此,许多公司最初都使用SSL VPN来增强其IPsec VPN,把仅需要访问电子邮件的员工增加到SSL VPN网络,同时保留IPsec VPN以满足真正需要广泛的网络层访问的员工的需求。

  在SSL VPN设备中寻求什么

  当然,SSL VPN设备必须有增强的平台的操作系统,并且通过安全界面进行管理。虽然早期的SSL VPN性能与IPsec相比还不是很好,但是,目前的企业设备能够使用硬件加速和高可用性等技术可靠地支持每一个大型的员工队伍。但是,除了对任何网络安全设备的这些基本的考虑之外,当你选择一台SSL VPN设备的时候,你应该考虑什么功能和因素呢?

  VPN架构——SSL VPN设备是多种多样的:

  ·Web代理设备仅支持Web应用程序。浏览器把普通的HTTP包在SSL中并且发送给这台设备。这台设备检查政策、镜像URL并且把HTTP请求转发给目标互联网服务器。

  ·应用解析设备让用户通过ActiveX或者Java接口与应用程序互动。这种Java接口模仿本地的应用程序图形用户界面,但是以HTTP格式发送请求。这台设备在把这个请求转发到目标服务器(非Web服务器)之前必须要把HTTP解析为每一个应用程序的本地协议。

  ·端口转发设备通过使用一个客户端代理在SSL隧道中转发本地应用协议来支持TCP客户机/服务器应用程序。这个代理与远程主机的应用端口连接在一起,同时,这台设备转发内部服务器(非Web服务器)发出和接收的信息。

  ·网络扩展设备通过使用一个客户端代理在一个SSL隧道中转发IP数据来支持任何IP应用程序。一个安装的代理拦截并且把出网的IP数据传送给这个设备。这台设备像一台网络层网关一样工作,在结构上与IPsec相似,但是没有标准IPsec的限制。

  任何指定的设备可能都支持一个以上的结构。但是,从这里开始,将帮助你理解产品的客户和应用程序支持。

  客户支持:每一个SSL VPN使用Web浏览器当作一个客户平台。但是,许多下载的客户端代码限制在公共PC、非Windows主机、移动设备以及外部网合作伙伴的系统上使用。你能够满足客户的要求吗,例如客户对浏览器厂商/版本或者启用ActiveX的要求?这种设备能为现值的客户提供减少的功能,同时为使用VPN门户网页自己安装代理软件的雇员提供更多的功能吗?

  应用程序支持:除了电子邮件和文件共享之外,考虑你的员工队伍需要的应用程序,这种设备是否/如何支持这些应用程序以及实现这些应用所需要的努力。例如,端口转发设备通常不需要客户化就能够支持许多客户机/服务器。但是,实时的应用(如VoIP)可能需要网络扩展设备。确认你理解了在URL镜像和为你需要的应用程序进行协议解析都涉及到什么。

  用户身份识别:SSL VPN在提供授权服务之前必须要识别用户的身份。确认这种设备支持你需要的用户身份识别方式以及现有的身份识别服务器和用户数据库(如, RADIUS、主动目录和LDAP)。此外,你要考虑这种设备是否能够从用户账户提取授权属性,并且考虑建立这种工作流所涉及的整合努力。

  授权:SSL VPN通常有能力强制执行控制用户(或者组)能够访问什么内容的详细规则。评估支持每一个需要的应用程序/资源的授权详细规则,苹果这种设备是否支持你定义的安全政策。例如,一些SSL VPN能够识别远程设备身份,让你限制那些在公共或者家庭PC上的用户的功能。

  端点安全:在批准访问之前评估端点安全状况和一台设备的状况也是很有用的。SSL VPN支持是为NAC、NAP、TNC和产品具体界面开发的,使它能够检查和/或者强制执行端点安全。采取的方法是要求在端点使用当前的安全补丁或者杀毒软件,或者限制不符合规定的端点能够访问的资源。考虑这种设备如何更好地适应你们公司的端点安全战略和实施。如果你计划支持没有管理的端点,你要评估对客户端安全措施的支持,如浏览器缓存、cookie和历史记录的清除以及"沙盒处理"(sandboxing)。

  审计与报告:最后,你要考虑这种设备如何跟踪和存档用户访问企业资源,并且考虑这种信息是否足以满足你的公司内部/外部报告的需求。

2009年9月20日星期日

LINUX ERROR: duplicate or bad block in use!

redhatenterprise4由于系统断电.第二天启动出现forcecheckfilesystem.在检测走到70%后不断出现duplicatebadblock错误.停止在ctrl d重启或输入root密码进入
checkfilesystem

如在检测过程中按ctrl c则出现
touch:cannottouch''/var/lock/subsys/network'':Read-onlyfilesystem等.

多方查寻.在输入root密码进入
checkfilesystem后执行
fsck-r/

在出现提示时按y解决.

注意.做这一部时要格外小心.数据丢了.可不负责任.

2009年8月19日星期三

64位Linux系统(CentOS)libmysqlclient skipping incompatible

64位Linux系统下,源码编译时,有时会无法链接libmysqlclient库:

/usr/bin/ld: skipping incompatible /usr/lib/mysql/libmysqlclient.so when searching for -lmysqlclient
/usr/bin/ld: skipping incompatible /usr/lib/mysql/libmysqlclient.a when searching for -lmysqlclient

请将Makefile里面的
-L/usr/lib/mysql
改为
-L/usr/lib64/mysql

---------------
或者:
----------------
# cd /usr/lib
# mv lib lib.bak
# ln -s /usr/lib64/mysql /usr/lib/mysql

2009年8月18日星期二

编译Mysql时configure: error: No curses/termcap library found 的错误解决方法

问题:在手动编译安装mysql的过程中.发生错误如下:

configure: error: No curses/termcap library found

在网上找了很多的解决办法,发现以下这个正解,放上以备查用



解决方法:安装 ncurses-devel-5.5-24.20060715.i386.rpm

OK!

注意版本问题,也许我们两个需要安装的版本不一样.

[Linux] RedHat-linux下安装gcc

复制以下RPM包到/root/install目录下 
glibc-kernheaders-2.4-8.10.i386.rpm 
glibc-devel-2.3.2-11.9.i386.rpm 
 cpp-3.2.2-5.i386.rpm 
binutils-2.13.90.0.18-9.i386.rpm 
gcc-3.2.2-5.i386.rpm 

以上文件可以在 安装盘中找到 安装顺序   
rpm -ivh glibc-kernheaders-2.4-8.10.i386.rpm   
rpm -ivh glibc-devel-2.3.2-11.9.i386.rpm   
rpm -ivh cpp-3.2.2-5.i386.rpm   
rpm -ivh binutils-2.13.90.0.18-9.i386.rpm   
rpm -ivh gcc-3.2.2-5.i386.rpm

2009年8月10日星期一

今天多学了一手。本来已经要在yahoo上下单子买一个XServerRaid,原价56万日元。一时兴起,又去查了下,发现尽管是2005年出品的XServerRaid,里面的HardDisk Module却只支持UltraATA。好悬⋯⋯

UltraATA的哈人的Disk,现在已经是希罕物⋯⋯,大家都SATA I或者SATA II。顺便看了看,说什么在拍卖上也找不到XSan,那东西真是个宝物啊⋯⋯

2009年8月7日星期五

I can't open an Office document after I install Office 2008 SP2 Update

I can't open an Office document after I install Office 2008 SP2 Update
Show All
Cause: This is a known issue with Office 2008 for Mac Service Pack 2 (12.2.0) that prevents some Open XML Format files from opening. To address this issue, we will release an update in August. In the meantime, you can use one of the following possible solutions.
Solution: Save your Excel workbook by using an earlier version of Office 2008 for Mac.
Solution: Save your Excel workbook by using Office 2004 for Mac with Open XML Converter.
Solution: Save your PowerPoint presentation, such as .pptx, .pptm, or .potx, by using 2007 Microsoft Office Suite Service Pack 2 (SP2) for Windows.
Solution: Save Excel workbooks to the .xlsb format in Excel 2007.
Solution: Save your document to .doc, .xls, or .ppt format by using Office 2008 for Mac 12.1.9 Update or an earlier version.
Solution: Save your document to .doc, .xls, or .ppt format by using Office 2004 for Mac with Open XML Converter.
Solution: Convert your document to .doc, .xls, or .ppt, by using Open XML Converter.
Solution: Save your Word or Excel documents by using 2007 Microsoft Office Suite Service Pack 2 (SP2) for Windows.
Solution: Save your document to .doc, .xls, or .ppt format by using Microsoft Office 2003 or an earlier version with Microsoft Office Compatibility Pack.
Solution: Use the AppleTime Machine to roll back to Office 2008 for Mac 12.1.9 Update or an earlier version.
Solution: Remove Office manually, reinstall Microsoft Office 2008 for Mac from the original installation media, and then upgrade to Office 2008 for Mac 12.1.9 Update. Do not upgrade to Microsoft Office 2008 for Mac Service Pack 2 (12.2.0) from Microsoft AutoUpdate.

微软没吃错药吧⋯⋯已知bug不去修正,让顾客重装office?

2009年7月29日星期三

JAVA中的取整函数

舍掉小数取整:Math.floor(3.5)=3
四舍五入取整:Math.rint(3.5)=4
进位取整:Math.ceil(3.1)=4

甲骨文软件价格大幅调涨 某些产品涨价幅度达40%

甲骨文(Oracle)一年前才调高软件价格20%以上,如今又再度调涨售价,这回某些产品的调涨幅度达40%。

有趣的是,这回大幅调涨价格的不是甲骨文的核心产品,例如产品资料库或应用程序服务软件,而是软件管理工具(administrative tools),用来监控和遵守有关当局的规定。

我很想说这是在敲竹杠,但不得不说这纯粹是精明的商业行动。甲骨文深知数据库软件销售不会永远快速增长,而客户迟早会需要添购额外的管理工具。就商业策略而言,调高非核心软件元件的价格,是比较明智的,既可确保客户持续地采用产品,也可维持主要产品线的现金流源源不断。

不过,这也令人不禁想问几个与甲骨文并购Sun有关的策略问题。具体来说就是,甲骨文将如何订定MySQL及其相关套装产品的价格?现有的工具能不能与MySQL并用,目前使用两种软件的客户会不会被迫购买两套管理工具? MySQL的用户能接受甲骨文调整价格政策吗?

调整价格对软件公司而言是稀松平常的事,但MySQL这类开放源代码软件公司通常会采用简单的定价模式,达到薄利多销的目的。

最大的问题是,甲骨文掌控MySQL对客户而言有没有助益。无庸置疑的是,在一些情况下,客户向单一来源购买产品和取得支持服务,会更方便。不过,很难想像甲骨文积极管理的销售作风,和MySQL纳入销售转换的过程,能配合无间。

附带一提,若你认为GPL与开放源代码授权艰涩难懂,不妨瞄一眼甲骨文的应用程序授权表(Application Licensing Table),乍看下似乎简单明了,但等到你需要用到非阳春型(non-vanilla)安装时便知没那么简单。

RAID

RAID 0又称为Stripe或Striping,它代表了所有RAID级别中最高的存储性能。RAID 0提高存储性能的原理是把连续的数据分散到多个磁盘上存取,这样,系统有数据请求就可以被多个磁盘并行的执行,每个磁盘执行属于它自己的那部分数据请求。这种数据上的并行操作可以充分利用总线的带宽,显著提高磁盘整体存取性能

RAID 1又称为Mirror或Mirroring,它的宗旨是最大限度的保证用户数据的可用性和可修复性。 RAID 1的操作方式是把用户写入硬盘的数据百分之百地自动复制到另外一个硬盘上。由于对存储的数据进行百分之百的备份,在所有RAID级别中,RAID 1提供最高的数据安全保障。同样,由于数据的百分之百备份,备份数据占了总存储空间的一半,因而,Mirror的磁盘空间利用率低,存储成本高。

Mirror虽不能提高存储性能,但由于其具有的高数据安全性,使其尤其适用于存放重要数据,如服务器和数据库存储等领域。

RAID 5 是一种存储性能、数据安全和存储成本兼顾的存储解决方案。RAID 5不对存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。当RAID5的一个磁盘数据发生损坏后,利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。

RAID 5可以理解为是RAID 0和RAID 1的折衷方案。RAID 5可以为系统提供数据安全保障,但保障程度要比Mirror低而磁盘空间利用率要比Mirror高。RAID 5具有和RAID 0相近似的数据读取速度,只是多了一个奇偶校验信息,写入数据的速度比对单个磁盘进行写入操作稍慢。同时由于多个数据对应一个奇偶校验信息,RAID 5的磁盘空间利用率要比RAID 1高,存储成本相对较低。

RAID0+1:正如其名字一样RAID 0+1是RAID 0和RAID 1的组合形式,也称为RAID 10。

RAID 0+1是存储性能和数据安全兼顾的方案。它在提供与RAID 1一样的数据安全保障的同时,也提供了与RAID 0近似的存储性能。

由于RAID 0+1也通过数据的100%备份提供数据安全保障,因此RAID 0+1的磁盘空间利用率与RAID 1相同,存储成本高。

RAID 0+1的特点使其特别适用于既有大量数据需要存取,同时又对数据安全性要求严格的领域,如银行、金融、商业超市、仓储库房、各种档案管理等。

RAID是通过磁盘阵列与数据条块化方法相结合, 以提高数据可用率的一种结构.IBM早于1970年就开始研究此项技术 .RAID 可分为RAID级别1到RAID级别6, 通常称为: RAID 0, RAID 1, RAID 2, RAID 3,RAID 4,RAID 5,RAID6.每一个RAID级别都有自己的强项和弱项. “奇偶校验”定义为用户数据的冗余信息, 当硬盘失效时, 可以重新产生数据.

RAID 0: RAID 0 并不是真正的RAID结构, 没有数据冗余. RAID 0 连续地分割数据并并行地读/写于多个磁盘上. 因此具有很高的数据传输率. 但RAID 0在提高性能的同时,并没有提供数据可靠性,如果一个磁盘失效, 将影响整个数据.因此RAID 0 不可应用于需要数据高可用性的关键应用.

RAID 1: RAID 1通过数据镜像实现数据冗余, 在两对分离的磁盘上产生互为备份的数据. RAID 1可以提高读的性能,当原始数据繁忙时, 可直接从镜像拷贝中读取数据.RAID 1是磁盘阵列中费用最高的, 但提供了最高的数据可用率. 当一个磁盘失效, 系统可以自动地交换到镜像磁盘上, 而不需要重组失效的数据.

RAID 2:从概念上讲, RAID 2 同RAID 3类似, 两者都是将数据条块化分布于不同的硬盘上, 条块单位为位或字节。然而RAID 2 使用称为"加重平均纠错码"的编码技术来提供错误检查及恢复。 这种编码技术需要多个磁盘存放检查及恢复信息, 使得RAID 2技术实施更复杂。 因此,在商业环境中很少使用。

RAID 3:不同于RAID 2, RAID 3使用单块磁盘存放奇偶校验信息。 如果一块磁盘失效, 奇偶盘及其他数据盘可以重新产生数据。 如果奇偶盘失效,则不影响数据使用.RAID 3对于大量的连续数据可提供很好的传输率, 但对于随机数据, 奇偶盘会成为写操作的瓶颈。

RAID 4:同RAID 2, RAID 3一样, RAID 4, RAID 5也同样将数据条块化并分布于不同的磁盘上, 但条块单位为块或记录. RAID 4使用一块磁盘作为奇偶校验盘, 每次写操作都需要访问奇偶盘, 成为写操作的瓶颈。 在商业应用中很少使用。

RAID 5:RAID 5没有单独指定的奇偶盘, 而是交叉地存取数据及奇偶校验信息于所有磁盘上。 在RAID5 上, 读/写指针可同时对阵列设备进行操作, 提供了更高的数据流量。 RAID 5更适合于小数据块,随机读写的数据。RAID 3与RAID 5相比, 重要的区别在于RAID 3每进行一次数据传输,需涉及到所有的阵列盘。而对于RAID 5来说, 大部分数据传输只对一块磁盘操作, 可进行并行操作。在RAID 5中有"写损失", 即每一次写操作,将产生四个实际的读/写操作, 其中两次读旧的数据及奇偶信息, 两次写新的数据及奇偶信息。

RAID 6:RAID 6 与RAID 5相比,增加了第二个独立的奇偶校验信息块。两个独立的奇偶系统使用不同的算法, 数据的可靠性非常高。 即使两块磁盘同时失效,也不会影响数据的使用。 但需要分配给奇偶校验信息更大的磁盘空间,相对于RAID 5有更大的“写损失”。 RAID 6 的写性能非常差, 较差的性能和复杂的实施使得RAID 6很少使用。

2009年7月25日星期六

PostgreSQL的編碼

安裝完Linux,如果選擇用Webmin來Initial PostgreSQL,此時PostgreSQL編碼為Unicode,之後,建立資料庫時如果沒特別指定資料庫編碼,則資料庫編碼也會是Unicode。

如果要改變PostgreSQL的編碼,例如,想將編碼改為SQL_ASCII,步驟如下:

1.執行以下指令,刪除/var/lib/pgsql/data目錄。

[root@tokyo root]# rm /var/lib/pgsql/data -r -f

2.再執行以下指令。

[root@tokyo root]# su postgres

bash-3.00$ initdb -E SQL_ASCII -D /var/lib/pgsql/data

3.執行Exit指令。

bash-3.00$ exit

備註:底下指令可以檢視所有資料庫編碼

bash-3.00$ psql -l

2009年7月24日星期五

jQuery表单常用操作

1.取下拉菜单选中项的文本


view plaincopy to clipboardprint?
$("#select option[selected]").text();//select和option之间有空格,option为select的子元素
$("#select option:selected").text();//如果写成$("#select").text();会把所有下拉菜单的文本选择出来

view plaincopy to clipboardprint?
$("#select option[selected]").text();//select和option之间有空格,option为select的子元素
$("#select option:selected").text();//如果写成$("#select").text();会把所有下拉菜单的文本选择出来
$("#select option[selected]").text();//select和option之间有空格,option为select的子元素
$("#select option:selected").text();//如果写成$("#select").text();会把所有下拉菜单的文本选择出来

2.获取和设置下拉菜单的值


view plaincopy to clipboardprint?
$("#select").val();//取值
$("#select").val("value");//设置,如果select中有值为value的选项,该选项就会被选中,如果不存在,则select不做任何变动

view plaincopy to clipboardprint?
$("#select").val();//取值
$("#select").val("value");//设置,如果select中有值为value的选项,该选项就会被选中,如果不存在,则select不做任何变动
$("#select").val();//取值
$("#select").val("value");//设置,如果select中有值为value的选项,该选项就会被选中,如果不存在,则select不做任何变动

3.清空下拉菜单


view plaincopy to clipboardprint?
$("#select").empty();
$("#select").html("");

view plaincopy to clipboardprint?
$("#select").empty();
$("#select").html("");
$("#select").empty();
$("#select").html("");

4.给下列菜单添加元素


view plaincopy to clipboardprint?
$('').appendTo($("#select"));
$("#select").append('');

view plaincopy to clipboardprint?
$('').appendTo($("#select"));
$("#select").append('');
$('').appendTo($("#select"));
$("#select").append('');

5.取单选框值


view plaincopy to clipboardprint?
$("#id[checked]").val();

view plaincopy to clipboardprint?
$("#id[checked]").val();
$("#id[checked]").val();

6.单选或复选按钮的选择


view plaincopy to clipboardprint?
$("#id[value=val]").attr("checked",true);//选择
$("#id[value=val]").attr("checked","");//取消选择
$("#id[value=val]").attr("checked",false);//取消选择
$("#id[value=val]").removeAttr("checked");//取消选择

view plaincopy to clipboardprint?
$("#id[value=val]").attr("checked",true);//选择
$("#id[value=val]").attr("checked","");//取消选择
$("#id[value=val]").attr("checked",false);//取消选择
$("#id[value=val]").removeAttr("checked");//取消选择
$("#id[value=val]").attr("checked",true);//选择
$("#id[value=val]").attr("checked","");//取消选择
$("#id[value=val]").attr("checked",false);//取消选择
$("#id[value=val]").removeAttr("checked");//取消选择

7.取复选框值


view plaincopy to clipboardprint?
$("input[type=checkbox][checked]").each(function(){
alert($(this).val());
})
//如果用$("input[type=checkbox][checked]").val(),只会返回第一个被选中的值

view plaincopy to clipboardprint?
$("input[type=checkbox][checked]").each(function(){
alert($(this).val());
})
//如果用$("input[type=checkbox][checked]").val(),只会返回第一个被选中的值
$("input[type=checkbox][checked]").each(function(){
alert($(this).val());
})
//如果用$("input[type=checkbox][checked]").val(),只会返回第一个被选中的值

8.判断单选或复选框是否被选中


view plaincopy to clipboardprint?
if($("#id").attr("checked")){}//判断选中
if($("#id").attr("checked")==true){}//判断选中
if($("#id").attr("checked")==undefined){}//判断未选中

view plaincopy to clipboardprint?
if($("#id").attr("checked")){}//判断选中
if($("#id").attr("checked")==true){}//判断选中
if($("#id").attr("checked")==undefined){}//判断未选中
if($("#id").attr("checked")){}//判断选中
if($("#id").attr("checked")==true){}//判断选中
if($("#id").attr("checked")==undefined){}//判断未选中

9.元素可用不可用


view plaincopy to clipboardprint?
$("#id").attr("disabled",false);//设为可用
$("#id").attr("disabled",true);//设为不可用

view plaincopy to clipboardprint?
$("#id").attr("disabled",false);//设为可用
$("#id").attr("disabled",true);//设为不可用
$("#id").attr("disabled",false);//设为可用
$("#id").attr("disabled",true);//设为不可用

10.判断元素可用不可用


view plaincopy to clipboardprint?
if($("#id").attr("disabled")){}//判断不可用
if($("#id").attr("disabled")==undefined){}//判断可用

2009年7月21日星期二

CSS:鼠标经过时改变背景颜色或图片

CSS:鼠标经过时改变背景颜色或图片
可以用于table的td,也可以用在div上,类似IBM的效果
鼠标经过时改变背景颜色
插入代码:
5istudy.cn

鼠标经过时改变背景图片
插入代码:
5istudy.cn

2009年6月27日星期六

iPhone 3GS 被破解⋯⋯

上市刚刚一周时间苹果iPhone 3GS即被告成功破解,其罪魁祸首是一个5个月前就被发现的漏洞(不知道苹果是不是故意留的),iPhone破解者们可以轻易利用此漏洞破解,这一切除了让iPhone用户感到惊喜外,也确实让人对苹果这次迟缓的应对颇感意外,连Geohot自己都表示为苹果感到悲哀,这次的破解毫无挑战性。

从发现新的ECID验证,到实现往iboot里写入自定义命令,到找到ramdisk key,再到今天发现bootrom存在24kpwn漏洞,可以说Geohot(是一破解达人 想了解点我查看需翻墙)每天都在为我们带来让人兴奋的消息,而今天的这个发现更是宣告了iPhone 3GS将可以被完全破解!Geohot称利用24kpwn漏洞,通过修改现有的redsn0w就可以实现iPhone 3GS的越狱。再利用Ultrasn0w即可软解现在的iPhone 3GS

24kpwn漏洞早在今年初就被iPhone Dev Team利用来开发redsn0w,并最终实现iPod Touch2G的完美越狱。这就意味着iPhone 3GS的越狱将可以追寻着iPod Touch 2Gen的破解轨迹,而水到渠成。从黄雪,到红雪,到超级雪,再到也许即将就要落下的紫雨,今年对于iPhone来说也许注定将是命运多舛,雪雨交加的一年。

2009年6月25日星期四

几天不见,IT生活有了很大改变⋯⋯

公历2009年6月18日晚上,中国中央电视台连续在“新闻联播”、“焦点访谈”、“新闻1+1”三大强档新闻节目中曝光谷歌中国能搜索到色情信息,并且对这类搜索有辅助引导行为。在央视新闻节目中有如此长时间的报道一个互联网企业,这在央视也是第一回吧。经过这么一折腾,谁占了便宜,谁又吃了亏呢?
第一受益者自然非互联网违法和不良信息举报中心莫属。前两天刚刚举行了成立5周年的庆祝活动,这次又在黄金时间露脸足够长时间,其知名度自然飙升。因此笔者建议该中心赶紧增加硬件设施和人员投入,否则会因在接下来的时间里接到的举报越来越多而应接不暇。
第二个受益者自然是谷歌的竞争对手百度。看到节目播出,蓦然回首,百度却在丛中笑。百度在偷笑的同时估计也不闲着,正积极准备宣传稿呢,也许还会接受个采访什么的,说说百度是如何遵守政府规定,如何采用No.1的技术去过滤不良信息,如何维护网络环境的健康,如何承担社会责任,等等。
第三个受益者是网民。谷歌在曝光之后紧急屏蔽了敏感词汇,并发表声明,要努力做良民,提高提供信息的质量。这对所有网民自然是有利的,这也是我们不良信息举报中心谴责谷歌的目的,也可减少教师、学生、家长等对网上不良信息的担忧。当然网民还有一个受益就是央视手把手的教会了如何搜索。
第四个受益者应该是谷歌,当然它也是吃亏者。因为马克思教导过我们要辩证的去看问题。这次央视的长时间播出,谷歌的知名度一定会提高许多,不论是在网民中还是非网民中。笔者认为,这次曝光谷歌,不但不会给谷歌减少搜索量,反而会增加,不信可以让谷歌公布一下这两天的搜索量与前些天的比较。这是因为谷歌在中国已经建立起来的用户群不会因为这次曝光而放弃使用谷歌,而之前没有使用谷歌的人却会有很多人开始试用谷歌,也许会因此成为谷歌的新用户。这要看谷歌如何把这次劫难转变为一次机遇。
第五个受益者很不明显,那就是新浪。因为在节目播出国家出台的若干关于互联网信息管理法规时,使用的网页是新浪科技的,能看到新浪的LOGO。所以新浪也较隐晦的做了一次免费宣传。
还有第六个,我不说了,请各位读者补充吧!

九城的未来

九城由于各种原因痛失《魔兽世界》的代理权应该属于商业竞争中司空见惯的现象,那么原来在九城负责运营《魔兽世界》的员工显然会找不到自己的位置,裁员自然也应是在情理之中的事情,况且作为一个企业在具有法律效力的合同面前也有自己的权利,此事本无可厚非,但为何近日传言的九城的裁员会引起业内的关注,尤其是引发了九城员工的不满呢?笔者联想到了在之前九城和网易就《魔兽世界》代理权争夺正酣时,曝出的九城总裁陈晓薇的两封致内部员工的信。坦白地讲,这两封信给笔者印象最深的是其中对于自己员工的高度评价和承诺。

例如在第一封信的开头有如下文字:对于外界的传言,我们最可敬的全体九城员工,没有一个人听信、散布传言,更没有一个人驻足观望、停滞不前。我们每一个人都在自己的岗位上,默默努力、加倍耕耘,用辛勤的汗水满足对玩家的承诺,用沉默的努力来捍卫自己的尊严。作为第九城市的总裁,请允许我在此向大家致以最崇高的敬意;作为这个大集体的一员,我为置身于大家中间而自豪。


在第一封信的结尾有如下文字:而每一个九城员工都是这个企业真正的财富。我们绝不会因为一款游戏的续约与否而裁员,这个大家庭里的弟兄姐妹一个都不能少,我们创造了九城的过去,我们仍会创造九城的未来。


在第二封信的开头有如下文字:在过去的20多个工作日中,我们的员工依然不为外界的各种诱惑、传闻所动,继续忘我的为魔兽世界中国玩家提供着最为优质的服务!今天,我再次向各位致以我最崇高的敬意;我为拥有如此团队和员工而倍感自豪!


在第二封信的结尾有如下文字:最后这句话送与每一位第九城市的员工,予以自勉:我们是优秀的,我们曾经自豪并且快乐的工作着,我们是不平凡的一群,彼此紧密相连,像兄弟姐妹般无间,在最需要的时刻彼此互相扶持,我们共同面对挑战,共同接受磨砺。第九城市,将继续巍然屹立!


当时有人称陈晓薇的这两封信气势如虹,荡气回肠。但笔者认为这之中流露出的平凡的感动更令人震撼和鼓舞。而这两封信不约而同地在开头和结尾都提及到了自己的员工,按照小学生作文的评价这叫首尾呼应,突出主题。可见这些员工应该如陈晓薇所言对于九城是宝贵的财富,彼此是兄弟姐妹。九城的未来和巍然屹立应该和他们息息相关。不幸的是,最终的事实证明这一切有个很重要的前提,那就是九城仍然能够拿到《魔兽世界》的代理权。但事实无情地击碎了这个前提,更无情的是九城亲自打碎了曾经称之为兄弟姐妹般的员工的承诺。也许真的如当初外界所言,《魔兽世界》事关九城的生存,当九城失守《魔兽世界》后,原为《魔兽世界》提供运营的企业员工也许没有了用武之地,也给九城造成了成本上的压力,裁员也是迫不得已而为之,那为何在九城最关键的时刻,没有在慷慨激昂的陈词中将这一最坏的结果告知自己的兄弟姐妹呢?相反的是,员工看到的是无论签约与否,九城这个大家庭里的兄弟姐妹一个都不能少的令人感动和迷失的承诺。更让笔者不解的是,既然不能履行自己的承诺,为何还要以一纸所谓的禁止协议,了却了员工可能存在的新的工作机会。也许当时九城太需要这些员工(不管是自愿还是强迫)和自己一起来向外界证明九城的凝聚力了,但同时九城又对自己的员工抱有极大的不信任。

也许从法律的角度讲,九城的做法无可厚非,根据业务的变化来裁员也是公司的需要,但问题的关键就是此前陈晓薇的那两封信让上述的理由显得甚是苍白。

在当前经济环境不景气和市场竞争异常激烈的情况下,企业裁员已经是企业缓解压力屡试不爽的方法,被裁员工有所不满也属正常,但像九城这样类似“卸磨杀驴”做法的企业却不多见。想来当时陈晓薇的这两封信表达的意思不仅仅代表她个人,更代表着九城。遗憾的是,今天的九城已经看不到如陈晓薇信中所描述的那样,让九城倍感自豪的员工即将离开,他们确实与九城共同面对了挑战和磨砺,但九城抛弃了他们,也抛弃自己作为一个企业的诚信。既然九城不能(或者没有能力)“体面”地履行自己的承诺,那至少应该让这些兄弟姐妹们体面地离开,也许这样九城还会像陈晓薇信中所说的,还有未来,或者巍然屹立……

2009年6月17日星期三

MAC开机启动组合拳

[Mac]Intel-based Mac 的启动键组合
  启动时按住 C 键 ―― 从可启动 CD 或 DVD 光盘启动,如随机附带的 Mac OS X 安装光盘。
  启动时按住 D 键 ―― 如果插入随机附带的 Mac OS X 安装光盘 1 ,则启动为
  AppleHardware Test (AHT) 。
  按住 Option-Command-P-R 键直至听到两声嘀嘀声 ―― 重置 NVRAM 。
  启动时按住 Option 键 ―― 启动进入 Startup Manager ,您可以从列出的有效启动宗卷中选择一个来启动。注意:按住 N 键可显示出第一个可 启动网络宗卷。
  按住 Eject 、 F12 键,或者按住鼠标键/触控板 ―― 推出所有移动介质,如光盘。
  启动时按住 N 键 ―― 试图从兼容的网络服务器(NetBoot)启动。
  启动时按住 T 键 ―― 启动为 FireWire 目标磁盘模式,相当于把本机变成一个火线接口的移动硬盘。
  启动时按住 Shift 键 ―― 启动为安全模式并且暂时关闭登录项。
  启动时按住 Command-V 键 ―― 启动为 Verbose 模式。
  启动时按住 Command-S 键 ―― 启动为单用户模式。
  启动时按住 Option-N 键 ―― 使用默认启动镜像从 NetBoot 服务器启动。
  一、如何取出卡死在吸取式光驱中的光盘:
  1.首先关机,拔掉所有连接苹果电脑的线(电源线、键盘鼠标线等),过1分钟后按住主机源开关5秒。
  2.然后过1分钟后接上电源、键盘鼠标线仅这三根线,开机后迅速同时按住四个键:苹果键+option键+P键+R键,电脑不间断响4声后,松开手进入苹果系统。
  3.最后在桌面上出现光盘图标,把光盘图标拖入到垃圾桶就自动弹出卡死在光驱中的光盘了。

2009年6月9日星期二

Samba服务器的连接小问题

今天把手头的宝妈的笔记本升了一下级,重启动后发现不能登陆linux的samba服务器了。
怎么输入,都是提示要求密码。不得已,我甚至更改了服务器密码,可是还是不行。

后来查资料,发现linux的samba服务器有自己的samba密码,用户名使用linux的系统用户名,但是要使用[smbpasswd -a 用户名]来生成samba密码。

# smbpasswd -a kandianying
New SMB password:
ReType new SMB passwd:

2009年6月8日星期一

[Attrack]Sendmail

不知道那家伙怎么做到的,我的sendmail是8.14.3和8.14.2的混合体。
那家伙通过sasl要求认证,同时送信。

好在偶用了SASL的送信认证。

不过为了安全起见,偶还是在hosts.allow里把sendmail的ALL删掉了。毕竟最近不出门,不用远程收信。

WARNING!!!! Possible Attack:
Attempt from [58.63.23.213] with:
command=AUTH, count=6: 1 Time(s)
Total: 1 Time(s)

2009年6月7日星期日

很牛B的文章,有一定启发

说到数据库,我认为不能不先谈数据结构。1996年,在我初入大学学习计算机编程时,当时的老师就告诉我们说:计算机程序=数据结构+算法。尽管现在的程序开发已由面向过程为主逐步过渡到面向对象为主,但我还是深深赞同8年前老师的告诉我们的公式:计算机程序=数据结构+算法。面向对象的程序开发,要做的第一件事就是,先分析整个程序中需处理的数据,从中提取出抽象模板,以这个抽象模板设计类,再在其中逐步添加处理其数据的函数(即算法),最后,再给类中的数据成员和函数划分访问权限,从而实现封装。

  数据库的最初雏形据说源自美国一个奶牛场的记账薄(纸质的,由此可见,数据库并不一定是存储在电脑里的数据^_^),里面记录的是该奶牛场的收支账目,程序员在将其整理、录入到电脑中时从中受到启发。当按照规定好的数据结构所采集到的数据量大到一定程度后,出于程序执行效率的考虑,程序员将其中的检索、更新维护等功能分离出来,做成单独调用的模块,这个模块后来就慢慢发展、演变成现在我们所接触到的数据库管理系统(DBMS)——程序开发中的一个重要分支。

  下面进入正题,首先按我个人所接触过的程序给数据库设计人员的功底分一下类:
  1、没有系统学习过数据结构的程序员。这类程序员的作品往往只是他们的即兴玩具,他们往往习惯只设计有限的几个表,实现某类功能的数据全部塞在一个表中,各表之间几乎毫无关联。网上不少的免费管理软件都是这样的东西,当程序功能有限,数据量不多的时候,其程序运行起来没有什么问题,但是如果用其管理比较重要的数据,风险性非常大。
  2、系统学习过数据结构,但是还没有开发过对程序效率要求比较高的管理软件的程序员。这类人多半刚从学校毕业不久,他们在设计数据库表结构时,严格按照教科书上的规定,死扣E-R图和3NF(别灰心,所有的数据库设计高手都是从这一步开始的)。他们的作品,对于一般的access型轻量级的管理软件,已经够用。但是一旦该系统需要添加新功能,原有的数据库表差不多得进行大换血。
  3、第二类程序员,在经历过数次程序效率的提升,以及功能升级的折腾后,终于升级成为数据库设计的老鸟,第一类程序员眼中的高人。这类程序员可以胜任二十个表以上的中型商业数据管理系统的开发工作。他们知道该在什么样的情况下保留一定的冗余数据来提高程序效率,而且其设计的数据库可拓展性较好,当用户需要添加新功能时,原有数据库表只需做少量修改即可。
  4、在经历过上十个类似数据库管理软件的重复设计后,第三类程序员中坚持下来没有转行,而是希望从中找出“偷懒”窍门的有心人会慢慢觉悟,从而完成量变到质变的转换。他们所设计的数据库表结构有一定的远见,能够预测到未来功能升级所需要的数据,从而预先留下伏笔。这类程序员目前大多晋级成数据挖掘方面的高级软件开发人员。
  5、第三类程序员或第四类程序员,在对现有的各家数据库管理系统的原理和开发都有一定的钻研后,要么在其基础上进行二次开发,要么自行开发一套有自主版权的通用数据库管理系统。

  我个人正处于第三类的末期,所以下面所列出的一些设计技巧只适合第二类和部分第三类数据库设计人员。同时,由于我很少碰到有兴趣在这方面深钻下去的同行,所以文中难免出现错误和遗漏,在此先行声明,欢迎大家指正,不要藏私哦8)

  一、树型关系的数据表
  不少程序员在进行数据库设计的时候都遇到过树型关系的数据,例如常见的类别表,即一个大类,下面有若干个子类,某些子类又有子类这样的情况。当类别不确定,用户希望可以在任意类别下添加新的子类,或者删除某个类别和其下的所有子类,而且预计以后其数量会逐步增长,此时我们就会考虑用一个数据表来保存这些数据。按照教科书上的教导,第二类程序员大概会设计出类似这样的数据表结构:

类别表_1(Type_table_1)
名称     类型    约束条件   说明
type_id   int   无重复   类别标识,主键
type_name   char(50) 不允许为空 类型名称,不允许重复
type_father int 不允许为空 该类别的父类别标识,如果是顶节点的话设定为某个唯一值

  这样的设计短小精悍,完全满足3NF,而且可以满足用户的所有要求。是不是这样就行呢?答案是NO!Why?

  我们来估计一下用户希望如何罗列出这个表的数据的。对用户而言,他当然期望按他所设定的层次关系一次罗列出所有的类别,例如这样:
总类别
  类别1
    类别1.1
      类别1.1.1
    类别1.2
  类别2
    类别2.1
  类别3
    类别3.1
    类别3.2
  ……

  看看为了实现这样的列表显示(树的先序遍历),要对上面的表进行多少次检索?注意,尽管类别1.1.1可能是在类别3.2之后添加的记录,答案仍然是N次。这样的效率对于少量的数据没什么影响,但是日后类型扩充到数十条甚至上百条记录后,单单列一次类型就要检索数十次该表,整个程序的运行效率就不敢恭维了。或许第二类程序员会说,那我再建一个临时数组或临时表,专门保存类型表的先序遍历结果,这样只在第一次运行时检索数十次,再次罗列所有的类型关系时就直接读那个临时数组或临时表就行了。其实,用不着再去分配一块新的内存来保存这些数据,只要对数据表进行一定的扩充,再对添加类型的数量进行一下约束就行了,要完成上面的列表只需一次检索就行了。下面是扩充后的数据表结构:

类别表_2(Type_table_2)
名称     类型    约束条件    说明
type_id   int   无重复   类别标识,主键
type_name   char(50) 不允许为空 类型名称,不允许重复
type_father int 不允许为空 该类别的父类别标识,如果是顶节点的话设定为某个唯一值
type_layer char(6) 限定3层,初始值为000000 类别的先序遍历,主要为减少检索数据库的次数

  按照这样的表结构,我们来看看上面例子记录在表中的数据是怎样的:

type_id type_name type_father type_layer
1 总类别 0 000000
2 类别1 1 010000
3 类别1.1 2 010100
4 类别1.2 2 010200
5 类别2 1 020000
6 类别2.1 5 020100
7 类别3 1 030000
8 类别3.1 7 030100
9 类别3.2 7 030200
10 类别1.1.1 3 010101
……

  现在按type_layer的大小来检索一下:SELECT * FROM Type_table_2 ORDER BY type_layer

列出记录集如下:

type_id type_name type_father type_layer
1 总类别 0 000000
2 类别1 1 010000
3 类别1.1 2 010100
10 类别1.1.1 3 010101
4 类别1.2 2 010200
5 类别2 1 020000
6 类别2.1 5 020100
7 类别3 1 030000
8 类别3.1 7 030100
9 类别3.2 7 030200
……

  现在列出的记录顺序正好是先序遍历的结果。在控制显示类别的层次时,只要对type_layer字段中的数值进行判断,每2位一组,如大于0则向右移2个空格。当然,我这个例子中设定的限制条件是最多3层,每层最多可设99个子类别,只要按用户的需求情况修改一下type_layer的长度和位数,即可更改限制层数和子类别数。其实,上面的设计不单单只在类别表中用到,网上某些可按树型列表显示的论坛程序大多采用类似的设计。

  或许有人认为,Type_table_2中的type_father字段是冗余数据,可以除去。如果这样,在插入、删除某个类别的时候,就得对type_layer 的内容进行比较繁琐的判定,所以我并没有消去type_father字段,这也正符合数据库设计中适当保留冗余数据的来降低程序复杂度的原则,后面我会举一个故意增加数据冗余的案例。

  
  二、商品信息表的设计
  假设你是一家百货公司电脑部的开发人员,某天老板要求你为公司开发一套网上电子商务平台,该百货公司有数千种商品出售,不过目前仅打算先在网上销售数十种方便运输的商品,当然,以后可能会陆续在该电子商务平台上增加新的商品出售。现在开始进行该平台数据库的商品信息表的设计。每种出售的商品都会有相同的属性,如商品编号,商品名称,商品所属类别,相关信息,供货厂商,内含件数,库存,进货价,销售价,优惠价。你很快就设计出4个表:商品类型表(Wares_type),供货厂商表(Wares_provider),商品信息表(Wares_info):

商品类型表(Wares_type)
名称     类型    约束条件    说明
type_id   int   无重复   类别标识,主键
type_name   char(50) 不允许为空 类型名称,不允许重复
type_father int 不允许为空 该类别的父类别标识,如果是顶节点的话设定为某个唯一值
type_layer char(6) 限定3层,初始值为000000 类别的先序遍历,主要为减少检索数据库的次数

供货厂商表(Wares_provider)
名称     类型    约束条件    说明
provider_id int   无重复   供货商标识,主键
provider_name char(100) 不允许为空 供货商名称

商品信息表(Wares_info)
名称     类型    约束条件    说明
wares_id int   无重复   商品标识,主键
wares_name char(100) 不允许为空 商品名称
wares_type   int 不允许为空           商品类型标识,和Wares_type.type_id关联
wares_info char(200) 允许为空 相关信息
provider int 不允许为空 供货厂商标识,和Wares_provider.provider_id关联
setnum int 初始值为1 内含件数,默认为1
stock int 初始值为0 库存,默认为0
buy_price money 不允许为空 进货价
sell_price money 不允许为空 销售价
discount money 不允许为空 优惠价

  你拿着这3个表给老板检查,老板希望能够再添加一个商品图片的字段,不过只有一部分商品有图片。OK,你在商品信息表(Wares_info)中增加了一个haspic的BOOL型字段,然后再建了一个新表——商品图片表(Wares_pic):

商品图片表(Wares_pic)
名称     类型    约束条件    说明
pic_id int   无重复   商品图片标识,主键
wares_id int 不允许为空 所属商品标识,和Wares_info.wares_id关联
pic_address  char(200) 不允许为空           图片存放路径

  程序开发完成后,完全满足老板目前的要求,于是正式启用。一段时间后,老板打算在这套平台上推出新的商品销售,其中,某类商品全部都需添加“长度”的属性。第一轮折腾来了……当然,你按照添加商品图片表的老方法,在商品信息表(Wares_info)中增加了一个haslength的BOOL型字段,又建了一个新表——商品长度表(Wares_length):

商品长度表(Wares_length)
名称     类型    约束条件    说明
length_id int   无重复   商品图片标识,主键
wares_id int 不允许为空 所属商品标识,和Wares_info.wares_id关联
length  char(20) 不允许为空           商品长度说明

  刚刚改完没多久,老板又打算上一批新的商品,这次某类商品全部需要添加“宽度”的属性。你咬了咬牙,又照方抓药,添加了商品宽度表(Wares_width)。又过了一段时间,老板新上的商品中有一些需要添加“高度”的属性,你是不是开始觉得你所设计的数据库按照这种方式增长下去,很快就能变成一个迷宫呢?那么,有没有什么办法遏制这种不可预见性,但却类似重复的数据库膨胀呢?我在阅读《敏捷软件开发:原则、模式与实践》中发现作者举过类似的例子:7.3 “Copy”程序。其中,我非常赞同敏捷软件开发这个观点:在最初几乎不进行预先设计,但是一旦需求发生变化,此时作为一名追求卓越的程序员,应该从头审查整个架构设计,在此次修改中设计出能够满足日后类似修改的系统架构。下面是我在需要添加“长度”的属性时所提供的修改方案:

  去掉商品信息表(Wares_info)中的haspic字段,添加商品额外属性表(Wares_ex_property)和商品额外信息表(Wares_ex_info)2个表来完成添加新属性的功能。

商品额外属性表(Wares_ex_property)
名称     类型    约束条件    说明
ex_pid int   无重复   商品额外属性标识,主键
p_name char(20) 不允许为空 额外属性名称

商品额外信息表(Wares_ex_info)
名称     类型    约束条件    说明
ex_iid int   无重复   商品额外信息标识,主键
wares_id int 不允许为空 所属商品标识,和Wares_info.wares_id关联
property_id  int 不允许为空           商品额外属性标识,和Wares_ex_property.ex_pid关联
property_value char(200) 不允许为空 商品额外属性值

  在商品额外属性表(Wares_ex_property)中添加2条记录:
ex_pid p_name
1 商品图片
2 商品长度

  再在整个电子商务平台的后台管理功能中追加一项商品额外属性管理的功能,以后添加新的商品时出现新的属性,只需利用该功能往商品额外属性表(Wares_ex_property)中添加一条记录即可。不要害怕变化,被第一颗子弹击中并不是坏事,坏的是被相同轨道飞来的第二颗、第三颗子弹击中。第一颗子弹来得越早,所受的伤越重,之后的抵抗力也越强8

Linux启动Oracle流程

这次一定要记录下来。不然和上次装ORACLE似的,都忘掉了。。
linux 启动 oracle

1.设置环境变量
$ export ORACLE_BASE=/home/oracle/oracle
$ export ORACLE_SID=orcl
$ export ORACLE_HOME=$ORACLE_BASE/product/10.1.0/db_1 $ export PATH=$PATH:$ORACLE_HOME/bin

2.启动监听器 lsnrctl start

.启动Oracle Enterprise Manager 数据库控制 emctl start dbconsole 4.访问http://IP:5500/em。可操作启动数据库 或者:
3.$ sqlplus

4.Enter user-name:/ as sysdba

5.SQL> startup

2009年6月6日星期六

启动oracle数据库的服务

上次安装完oracle 10g后,开始尝试在远程使用和管理oracle,但是道路崎岖不平,下面主要是关于启动、和使用EM、SQLPLUS、ISQLPLUS的记录:

首先,通过telnet远程登录linux服务器,然后启动sqlplus,以便能完成大部分的DML操作。

1.启动sqlplus

登录成功后,在终端提示符下输入sqlplus,如下:

[oracle@graduate ~]$ sqlplus

SQL*Plus: Release 10.2.0.1.0 - Production on 星期四 10月 5 20:25:03 2006

Copyright (c) 1982, 2005, Oracle. All rights reserved.

请输入用户名: scott
输入口令:

连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options

SQL>

2. 启动em(enterprise managment)

在在终端提示符下输入命令如下:

关于emctl的用法,可以在提示符下,直接输入emctl,不加任何其他选项,将会出现usage。

[oracle@graduate ~]$emctl start dbconsole

TZ set to PRC
Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0
Copyright (c) 1996, 2005 Oracle Corporation. All rights reserved.
http://你的IP:1158/em/console/aboutApplication

3. 启动isqlplus(isqlplus就是在浏览器可以使用的sqlplus,具体的用法,会在后面讲)

[oracle@graduate ~]$ isqlplusctl start
iSQL*Plus 10.2.0.1.0
Copyright (c) 2003, 2005, Oracle. All rights reserved.
warning, got duplicate tcp line.
Starting iSQL*Plus ...
iSQL*Plus started.

about Tomcat show "INFO: Additional JARs have been added"

Jun 6, 2009 1:54:19 PM org.apache.catalina.loader.WebappClassLoader modified
INFO: Additional JARs have been added
Jun 6, 2009 1:54:19 PM org.apache.catalina.core.StandardContext reload
INFO: Reloading this Context has started
Jun 6, 2009 1:54:29 PM org.apache.catalina.loader.WebappClassLoader modified
INFO: Additional JARs have been added
Jun 6, 2009 1:54:29 PM org.apache.catalina.core.StandardContext reload
INFO: Reloading this Context has started
Jun 6, 2009 1:54:39 PM org.apache.catalina.loader.WebappClassLoader modified
INFO: Additional JARs have been added
Jun 6, 2009 1:54:39 PM org.apache.catalina.core.StandardContext reload
INFO: Reloading this Context has started

I had made a project, but when I started up tomcat, these message were shown in console.
they are borning.
Then I found the reason.For connect to Oracle DB, I had added a ojdbc.jar to $PROJECT/WEB-INF/lib/ folder.The attributte of it is "-rw-r-----". because I am using a normal user to startup tomcat, I have no access privilege to it . I changed the attribute to 644, it works correctly.

I am using java1.6, tomcat6.0, eclipse3.4(all in one).

Tomcat在linux下的服务启动

一、创建启动/停止脚本文件
 
通过一下脚本,可以使Tomcat以Service方式运行。

#!/bin/bash
# chkconfig: 2345 10 90
# description: Starts and Stops the Tomcat daemon.
TOMCAT_HOME=/usr/local/apache-tomcat-5.5.12
TOMCAT_START=$TOMCAT_HOME/bin/startup.sh
TOMCAT_STOP=$TOMCAT_HOME/bin/shutdown.sh
# necessary environment variables export
CATALINA_HOME=$TOMCAT_HOME
export JAVA_HOME=/usr/java/jdk1.5.0_05
# source function library.
. /etc/rc.d/init.d/functions
# source networking configuration.
. /etc/sysconfig/network
# check that networking is up.
[ "${NETWORKING}" = "no" ] && exit 0
# check for tomcat script
if [ ! -f $TOMCAT_HOME/bin/catalina.sh ]
then echo "Tomcat not valilable..."
exit
fi
start(){
echo -n "Starting Tomcat: "
daemon $TOMCAT_START
echo
touch /var/lock/subsys/tomcat
}
stop(){
echo -n $"Shutting down Tomcat: "
daemon $TOMCAT_STOP
rm -f /var/lock/subsys/tomcat.pid echo
}
restart(){
stop
start
}
status(){
#以下の一行は一行に納めること、下列行在一行内写下,否则“service start”的时候报错#
ps ax --width=1000 | grep "[o]rg.apache.catalina.startup.Bootstrap start" | awk '{printf $1 " "}' | wc | awk '{print $2}' > tmp/tomcat_process_count.txt
read line < /tmp/tomcat_process_count.txt
if [ $line -gt 0 ]; then
echo -n "tomcat ( pid "
ps ax --width=1000 | grep "org.apache.catalina.startup.Bootstrap start" | awk '{printf $1 " "}'
echo -n ") is running..."
echo
else
echo "Tomcat is stopped"
fi
}
case "$1" in
start)
start ;;
stop)
stop ;;
restart)
stop
sleep 3
start ;;
status)
status ;;
*)
echo "Usage: tomcatd {start|stop|restart|status}"
exit 1
esac
exit 0


二、保存并设置脚本文件
将以上的脚本文件保存在/etc/init.d中,命名为tomcat;
设置tomcat的文件属性
#chmod a+x tomcat
三、设置服务运行级别
最后用chkconfig设置服务运行
#chkconfig --add tomcat
注意:
在tomcat文件的头两行的注释语句中,需要包含chkconfig和description两部分内容(确认不要拼写错误,),否则在执行“chkconfig --add tomcat”时,会出现“tomcat服务不支持chkconfig”的错误提示。
chkconfig这行表示缺省启动的运行级别以及启动和停止的优先级,如该服务缺省不再任何运行级启动,则以 - 代替运行级别。在tomcat中表示脚本在运行级2、3、4、5启动,启动优先权为10,停止优先权为90。
description行对服务进行描述,可以用 “\” 跨行注释。

2009年6月3日星期三

vsFtpd配置参数

#启用监听
listen=YES
#定义FTP端口
listen_port=21
#不监听IPV6
listen_ipv6=NO
#允许匿名用户登录
anonymous_enable=YES
#匿名用户视为来宾用户,默认用户名ftp
#guest_enable=NO
#guest_username=ftp
#允许匿名用户免密码进入
#no_anon_password=YES
#允许本地用户登录
local_enable=YES
#允许本地上传
lock_upload_files=YES
#允许本地用户写入
write_enable=YES
anon_umask=022
local_umask=022
#远程客户端最大FTP命令间隔超过600秒,或空闲的数据连接超过120秒,都将被断开
idle_session_timeout=600
data_connection_timeout=120
#不允许匿名用户上传
anon_upload_enable=NO
#不允许匿名用户创建文件夹
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
#匿名用户只允许下载
anon_world_readable_only=YES
#是否允许下载
download_enable=YES
#是否删除上传失败的文件
delete_failed_uploads=NO
#匿名客户端允许的最大数据传输速率50kb/s
#anon_max_rate=50000
#本地下载速度不限制
local_max_rate=0
#最多连接用户
max_clients=200
#最多登录失败次数
max_login_fails=3
#每个IP最多次数
max_per_ip=4
#登录失败延时1秒
#delay_failed_login=1
#登录成功延时0秒
#delay_successful_login=0
#主动模式
#port_enable=YES
#被动模式下,服务器端口范围限制在50000-60000
pasv_enable=YES
pasv_min_port=50000
pasv_max_port=60000
#允许SSL
ssl_enable=YES
#允许欢迎话语
dirmessage_enable=YES
#显示文件列表
dirlist_enable=YES
#强迫ftp-data 的数据传送使用20端口
connect_from_port_20=NO
#锁定上传文件
lock_upload_files=YES
#匿名上传者是否拥有所有权
#chown_uploads=NO
#chown_username=whoever
#不允许系统日志
syslog_enable=NO
#允许日志
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
#检验用户密码
userlist_enable=NO
userlist_deny=YES
#nopriv_user=ftpsecure
#特殊用户asycn abor是否允许
async_abor_enable=NO
#管控是否可用ASCII模式上传下载
ascii_upload_enable=NO
ascii_download_enable=YES
#欢迎语
#ftpd_banner=Welcome to my FTP server.
#禁止E-mail
#banned_email_file=/etc/vsftpd.banned_emails
#限制用户只能访问他们的家目录
chroot_local_user=YES
#受限用户列表,只能访问它们的家目录
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
#是否允许LS-R命令
ls_recurse_enable=NO
secure_chroot_dir=/var/run/vsftpd
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

2009年6月1日星期一

苹果机关机技巧总结

苹果机开关机技巧总结

或许您每天要开关机好几次,有时可能要用到光盘开机,有时需要注销更换使用者,平常操作时,都是经由屏幕上的各种选单来选择,虽然用选单的方式来操作很直觉,不过如果再加上一些快捷键,可让您的动作方便且快速许多,底下就是汇整开关机、注销、关机时,可以用到的快捷键,希望对各位有所帮助。

C
很多人都知道这个键的作用,在刚按下电源开关开机时,如按着C 键不放,Mac主机会直接找光驱内的开机光盘片来开机,这招通常用于重灌或更新系统时。

T
如果的Mac主机您有外接的FireWire硬盘,且里头已经安装好有可开机的系统时,在按下电源按钮开机后,如按着T 键不放,Mac主机会直接找外接的FireWire硬盘内的系统来开机。

X
在按下电源按钮开机后,如按着X键不放,就算原来的预设开机系统为OS 9,Mac主机会跳过OS 9 系统,直接找硬盘里的OS X 系统开机。

苹果键(Command)-S
在按下电源按钮开机后,如同时按着苹果键与S键不放,会进入单一使用者模式。

苹果键-V
在按下电源按钮开机后,如同时按着苹果键与V键不放,可以进入执行程序显示模式,屏幕上会逐行显示目前所执行的程序,如您是Linux的使用者,对这种模式应该不会陌生。

Shift
在按下电源按钮开机后,如按着Shift键不放,会进入安全启动模式,其会将不必要的核心延伸功能关闭(与在Mac OS 9 开机时按下Shift 键的功能类似),并且不理会任何之前曾经设定过的登入项目。

Option
在按下电源按钮开机后,如按着Option键不放,会进入启动管理者模式,让您在屏幕上选择想要启动的系统。

鼠标按键
在按下电源按钮开机后,如按着鼠标按键不放,会将光驱内的光盘片强制退出。

苹果键-Option-Shift-Q
苹果键-Option- 注销
您可以用这两种组合的其中一种,当您同时按下苹果键、Option 、Shift 、Q键,或同时按着苹果键、Option 并加上苹果选单下的「注销」时,计算机将不会出现询问您是否要注销的画面,而直接注销目前的使用者。

Option- 主机上的电源开关
苹果键-Option- 关机
您可以用这两种组合的其中一种,当您同时按下Option、电源开关,或同时按着苹果键、Option 并加上苹果选单下的「关机」时,计算机将不会出现询问您是否要关机的画面,而会直接关机。此组合键不适用在较旧的Mac主机上。

苹果键-Option- 重新开机:
同时按着苹果键、Option 并加上苹果选单下的「重新开机」时,计算机将不会出现询问您是否要重新开机的画面,而会直接重开机。此组合键不适用在较旧的Mac主机上。

Control- 苹果键- 主机上的电源开关
同时按着苹果键、Control并加上电源开关,将会强制计算机重新开机,但请您注意,非绝对必要不要用这个方式重开机,如用此方是重开机后,因为系统会自动检修不正常关机所造成问题,所以会停留在灰色的开机画面非常久。此组合键不适用在较旧的Mac 主机上。

定时关机
大家是否想半夜关机,但是又懒得起床?
在terminal里输入:sudo shutdown -h [时间]
例如:sudo shutdown -h 23:00 Sep 23th 2005. 电脑会在2005年9月23日晚上11点关机。(把 -h 变成 -r 就是重新启动)

2009年5月26日星期二

修改ORACLE表的列名

alter table 表名 rename column 旧列名 to 新列名;

2009年5月25日星期一

Oracle alter column's default value

oracle alter column's default value
alter table 表名 modify 列名 default 值;

JSP页面用EL表达的问题解决

今天开始进行制造,学习写EL式。

原本 JSP 中沒有使用 EL,後來改成利用 EL 的方式。
發現 Tomcat 並不會跑修改後的結果。
原因在於在 JSP 頁中直接寫 EL 是 JSP2.0/servlet 2.4以後的版本,所以 web.xml 中必須宣告為

<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">

但是修改後,跑更改成 EL 後的程式。
發現結果還是一樣,沒有作用。

試了好久才知道,原來 jsp 必須再重新 compiler 才會有作用。
也就是說,再把檔案故意修改一下再存檔,重新跑就行了。

原因在於 JSP 檔案支援 EL 的做法是在 compiler 的時候自動翻譯的。
試了好久,找了好多資料都沒提到。

其实原作者猪头(最近猪肉价格下降......),浏览器关闭后重新载入就好了.......

附:

jsp中EL表达式不能显示的解决方法

在JSP2.0中,增加了EL语言,可以通过EL语言,可以通过EL语言,实现获取数据,进一步将scriptlet代码从JSP页面中分离出来.
EL语言给大家带来了方便,但有时,也会遇到EL表达式不能显示的情况,下面,我将列举几种EL表达式不能显示的情况及解决方案:
1.WEB-INF/web.xml,web应用的部署描述文件引用的是servlet规范的2.3版本或更早的版本(即jsp1.2或更早),则jsp2.0表达式语言自动在web应

用中停用,注意里面的version属性应为2.4及以上版本.
2.web.xml中,是否停用了jsp表达式语言
<jsp-property-group>
<url-pattern>/legacy/*.jsp
<el-ignored>true
</jsp-property-group>

这种情况的解决方法就是把true改为false

3.页面停用jsp表达式语言
<%@ page isELEnabled ="false"%>

解决方法:改为<%@ page isELEnabled ="true"%>

2009年5月20日星期三

MyEclipse7.1.1的下载地址

1. MyEclipse Enterprise Workbench 7.1.1 for Windows 98/2000/NT/XP/Vista (04/06/2009)
MyEclipse Enterprise Workbench 7.1.1 for Eclipse 3.4
http://downloads4.myeclipseide.com/downloads/products/eworkbench/7.0/myeclipse-7.1.1-win32.exe

2. MyEclipse Enterprise Workbench 7.1.1 for RedHat Enterprise Linux (04/06/2009)
MyEclipse Enterprise Workbench 7.1.1 for Eclipse 3.4
http://downloads4.myeclipseide.com/downloads/products/eworkbench/7.0/myeclipse-7.1.1-linux-gtk-x86.tgz

3. MyEclipse Enterprise Workbench Version 7.1 for Mac OS/X (04/06/2009))
MyEclipse Enterprise Workbench 7.1.1 for Eclipse 3.4
http://downloads4.myeclipseide.com/downloads/products/eworkbench/7.0/myeclipse-7.1.1-macosx.tgz

4. Archived Update Site 7.1.1 (04/06/2009)
MyEclipse Enterprise Workbench 7.1.1 archive update site
http://downloads4.myeclipseide.com/downloads/products/eworkbench/7.0/MyEclipse_7.1.1_ArchivedUpdateSite.zip

5. Manual Installs 7.1.1 (4/7/2009)
MyEclipse Enterprise Workbench 7.1.1 for eclipse 3.4 manual install is now available for download. Make sure to review the New and Noteworthy document and the release notes
http://downloads4.myeclipseide.com/downloads/products/eworkbench/7.0/myeclipse-7.1.1-manual-win32.zip

http://downloads4.myeclipseide.com/downloads/products/eworkbench/7.0/myeclipse-7.1.1-manual-linux-x86.tar.gz

2009年5月17日星期日

linux架设subversion(svn)版本控制(少し古いけど)

少し古いけど、一応アッカイブ化して、閲覧の為に記録しておく。

1.需要两个文件,httpd和subversion. httpd是web服务器(httpd是执行文件名,正确的是Apache服务器),用来通过web访问subversion,httpd可以在apache官方网站上下载到

2.新建一个用户:svnroot
最好不要让root用户参与到svn的权限管理和日常的运行和维护工作中来,但是下面的一些安装和配置操作还是 需要root用户来完成的,因为有些操作只有root才能做。权限问题很重要。曾经因为权限问题折腾了一天。

3.编译安装httpd (root用户操作):
//解压apache2安装包
# tar xvzf httpd-2.2.2.tar.gz
//进入解压后的目录
# cd httpd-2.2.2
//配置apache安装,前两个参数是必须要加的,你还可以根据您的需要添加其他的参数。
//后面的参数制定你要把apache安装哪里
# ./configure --enable-dav --enable-so --prefix=/usr/local/apache2/
# make
//安装
# make install
# cd /usr/local/apache2/bin
//启动apache服务
# ./apachectl start
//打开浏览器http://localhost/如果有测试页"It works!"出现则证明已经安装成功。

4.安装Subversion
//解压SubVersion安装包 (root用户进行下面的操作)
# tar xvzf Subversion-1.3.1.tar.gz
//进入解压后的目录
# cd Subversion-1.3.1
//配置subversion安装
#./configure --with-apxs=/usr/local/apache2/bin/apxs --prefix=/usr/local/subversion
--with-apr=/usr/local/apache2 --with-apr-util=/usr/local/apache2 --with-ssl --with-zlib
--enable-maintainer-mode
# make
//安装
# make install
//创建库文件所在的目录 (svnroot用户进行下面的操作)
# mkdir /home/svnroot/repository
//进入subversion的bin目录
# cd /usr/local/subversion/bin
//创建仓库"test"
# ./svnadmin create /home/svnroot/repository/test
# cd /home/svnroot/repository/test
//看看是不是多了些文件,如果是则说明Subversion安装成功了
# ls –l
# cd /usr/local/subversion/bin
//这条语句将把路径/home/user/import下找到的文件导入到你创建的Subversion 仓库中去,
//提交后的修订版为1。
# ./svn import /home/user/import file:///home/svnroot/repository/test –m "注释"
//不让其他人有该目录的权限
# chmod 700 /home/svnroot/repository

5.修改Apache配置文件
# cd /usr/local/apadche2/bin
//启动Apache
# ./apachect1 start
# vi /usr/local/apache2/conf/httpd.conf
//在最下面添加
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

DAV svn
SVNParentPath /home/svnroot/repository/ //svn父目录
AuthzSVNAccessFile /home/svnroot/repository/authz.conf //权限配置文件
AuthType Basic //连接类型设置
AuthName "Subversion.zoneyump" //连接框提示
AuthUserFile /home/svnroot/repository/authfile //用户配置文件
Require valid-user //采用何种认证

//其中authfile是通过"htpasswd [–c] /home/svnroot/repository/authfile username password"来创建的
//"Require valid-user"告诉apache在authfile中所有的用户都可以访问。如果没有它,
//则只能第一个用户可以访问新建库

6.重启apache
# ./usr/local/apache2/bin/apachectl restart
//打开浏览器访问http://localhost/svn/test/,如果有东西显示就说明成功。

7.权限管理
1)增加用户
# htpasswd [-c] /home/svnroot/repository/authfile wooin
//第一次设置用户时使用-c表示新建一个用户文件。回车后输入用户密码,完成对用户的增加
# htpasswd authfile 用户名(加入新的用户)
2)权限分配
# vi /home/svnroot/repository/authz.conf
[test:/] //这表示,仓库test的根目录下的访问权限
wooin = rw //test仓库wooin用户具有读和写权限
bao = r //test仓库bao用户具有读权限
[test2:/] //test2仓库根目录下的访问权限
wooin = r //wooin用户在test2仓库根目录下只有读权限
bao = //bao用户在 test2仓库根目录下无任何权限
[/] //这个表示在所有仓库的根目录下
* = r //这个表示对所有的用户都具有读权限
#[groups] //这个表示群组设置
#svn1-developers = wooin, bao //这个表示某群组里的成员
#svn2-developers = wooin
#[svn1:/]
#@svn1-developers = rw //如果在前面加上@符号,则表示这是个群组权限设置
将这个设置完成后。重启Apache,就可以通过
http://localhost/svn/test
这个URL来访问仓库了,当然,受权限的限制,必须是合法用户才能访问且具有相应的权限

备注:
1。apache进程的权限:因为所有跟仓库传输的操作都是通过apache进程进行的,所以即使你给svn用户设置了 很大的权限,但是apache进程没有访问仓库或者相关文件的权限也没有用,apache进程的权限设置在 /usr/local/apache2/conf/httpd.conf 文件中配置,找到文件中的这两行:
User daemon # 将daemon改为svnroot,让apache进程以svnroot的身份运行
Group daemon

2。在/etc/profile的结尾设置一些svn启动时要做的工作
# start apache server for svn
/usr/sbin/apachectl start
export SVN_EDITOR=vi

3。/home/respository/svnroot下的文件操作权限有给svnroot.

2009年5月14日星期四

在eclipse下用java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource定义data-source Tomcat无法启动的解决方法

在myeclipse下设置struts的struts-config.xml连接数据库:
<data-source key="mykey" type="org.apache.commons.dbcp.BasicDataSource">
<set-property property="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
.
.
.
</data-source>

启动tomcat后,发现:
2007-3-31 19:49:37 org.apache.struts.action.ActionServlet initModuleDataSources
严重: Initializing application data source only
java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1358)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)
at org.apache.struts.util.RequestUtils.applicationClass(RequestUtils.java:207)
at org.apache.struts.util.RequestUtils.applicationInstance(RequestUtils.java:231)
at org.apache.struts.action.ActionServlet.initModuleDataSources(ActionServlet.java:1081)
at org.apache.struts.action.ActionServlet.init(ActionServlet.java:472)
at javax.servlet.GenericServlet.init(GenericServlet.java:212)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1161)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:981)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4044)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4350)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:761)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:741)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1023)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1015)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:448)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
2007-3-31 19:49:37 org.apache.catalina.core.ApplicationContext log
信息: Marking servlet action as unavailable
2007-3-31 19:49:37 org.apache.catalina.core.StandardContext loadOnStartup
严重: Servlet /StrutsLoginDemo threw load() exception
javax.servlet.UnavailableException: Initializing application data source only
at org.apache.struts.action.ActionServlet.initModuleDataSources(ActionServlet.java:1091)
at org.apache.struts.action.ActionServlet.init(ActionServlet.java:472)
at javax.servlet.GenericServlet.init(GenericServlet.java:212)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1161)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:981)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4044)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4350)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:761)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:741)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1023)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1015)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:448)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)

将commons-dbcp-1.2.jar添加到lib中,此问题解决。
下载地址:http://apache.seekmeup.com/jakarta/commons/dbcp/commons-dbcp-current.zip


启动tomcat后,发现:
2007-3-31 19:49:37 org.apache.struts.action.ActionServlet initModuleDataSources
严重: Initializing application data source only
java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1358)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)
at org.apache.struts.util.RequestUtils.applicationClass(RequestUtils.java:207)
at org.apache.struts.util.RequestUtils.applicationInstance(RequestUtils.java:231)
at org.apache.struts.action.ActionServlet.initModuleDataSources(ActionServlet.java:1081)
at org.apache.struts.action.ActionServlet.init(ActionServlet.java:472)
at javax.servlet.GenericServlet.init(GenericServlet.java:212)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1161)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:981)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4044)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4350)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:761)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:741)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1023)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1015)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:448)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
2007-3-31 19:49:37 org.apache.catalina.core.ApplicationContext log
信息: Marking servlet action as unavailable
2007-3-31 19:49:37 org.apache.catalina.core.StandardContext loadOnStartup
严重: Servlet /StrutsLoginDemo threw load() exception
javax.servlet.UnavailableException: Initializing application data source only
at org.apache.struts.action.ActionServlet.initModuleDataSources(ActionServlet.java:1091)
at org.apache.struts.action.ActionServlet.init(ActionServlet.java:472)
at javax.servlet.GenericServlet.init(GenericServlet.java:212)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1161)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:981)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4044)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4350)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:761)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:741)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1023)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1015)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:448)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)

将commons-dbcp-1.2.jar添加到lib中,此问题解决。
下载地址:http://apache.seekmeup.com/jakarta/commons/dbcp/commons-dbcp-current.zip



但是,重启tomcat后,出现:
2007-3-31 19:51:23 org.apache.catalina.core.ApplicationContext log
严重: StandardWrapper.Throwable
java.lang.NoClassDefFoundError: org/apache/commons/pool/impl/GenericObjectPool
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
at java.lang.Class.getConstructor0(Class.java:2699)
at java.lang.Class.newInstance0(Class.java:326)
at java.lang.Class.newInstance(Class.java:308)
at org.apache.struts.util.RequestUtils.applicationInstance(RequestUtils.java:231)
at org.apache.struts.action.ActionServlet.initModuleDataSources(ActionServlet.java:1081)
at org.apache.struts.action.ActionServlet.init(ActionServlet.java:472)
at javax.servlet.GenericServlet.init(GenericServlet.java:212)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1161)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:981)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4044)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4350)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:761)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:741)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1023)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1015)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:448)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
2007-3-31 19:51:23 org.apache.catalina.core.StandardContext loadOnStartup
严重: Servlet /StrutsLoginDemo threw load() exception
java.lang.NoClassDefFoundError: org/apache/commons/pool/impl/GenericObjectPool
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
at java.lang.Class.getConstructor0(Class.java:2699)
at java.lang.Class.newInstance0(Class.java:326)
at java.lang.Class.newInstance(Class.java:308)
at org.apache.struts.util.RequestUtils.applicationInstance(RequestUtils.java:231)
at org.apache.struts.action.ActionServlet.initModuleDataSources(ActionServlet.java:1081)
at org.apache.struts.action.ActionServlet.init(ActionServlet.java:472)
at javax.servlet.GenericServlet.init(GenericServlet.java:212)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1161)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:981)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4044)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4350)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:761)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:741)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1023)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1015)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:448)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)

继续添加commons-pool-1.3.jar到lib中,重新启动tomcat,彻底搞定!!!
下载地址:http://www.ip97.com/apache.org/jakarta/commons/pool/commons-pool-current.zip

另外,如果出现以下错误:
2007-3-31 19:30:16 org.apache.struts.action.ActionServlet initModuleDataSources
严重: Initializing application data source only
org.apache.commons.dbcp.SQLNestedException: Cannot load JDBC driver class 'oracle.jdbc.driver.OracleDriver'
at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:766)
at org.apache.commons.dbcp.BasicDataSource.setLogWriter(BasicDataSource.java:598)
at org.apache.struts.action.ActionServlet.initModuleDataSources(ActionServlet.java:1087)
at org.apache.struts.action.ActionServlet.init(ActionServlet.java:472)
at javax.servlet.GenericServlet.init(GenericServlet.java:212)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1161)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:981)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4044)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4350)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:761)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:741)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1023)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1015)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:448)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1358)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:760)
... 30 more
2007-3-31 19:30:16 org.apache.catalina.core.ApplicationContext log
信息: Marking servlet action as unavailable
2007-3-31 19:30:16 org.apache.catalina.core.StandardContext loadOnStartup
严重: Servlet /StrutsLoginDemo threw load() exception
javax.servlet.UnavailableException: Initializing application data source only
at org.apache.struts.action.ActionServlet.initModuleDataSources(ActionServlet.java:1091)
at org.apache.struts.action.ActionServlet.init(ActionServlet.java:472)
at javax.servlet.GenericServlet.init(GenericServlet.java:212)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1161)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:981)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4044)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4350)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:761)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:741)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1023)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1015)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:448)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)

那就将ORACLE里的ojdbc14.jar拷到Tomcat的lib里就好了!~

2009年5月8日星期五

MYSQL--my.cnf配置中文详解

MYSQL--my.cnf配置中文详解

basedir = path 使用给定目录作为根目录(安装目录)。

character-sets-dir = path 给出存放着字符集的目录。

datadir = path 从给定目录读取数据库文件。

pid-file = filename 为mysqld程序指定一个存放进程ID的文件(仅适用于UNIX/Linux系统); Init-V脚本需要使用这个文件里的进程ID结束mysqld进程。

socket = filename 为MySQL客户程序与服务器之间的本地通信指定一个套接字文件(仅适用于UNIX/Linux系统; 默认设置一般是/var/lib/mysql/mysql.sock文件)。在Windows环境下,如果MySQL客户与服务器是通过命名管道进行通信 的,--sock选项给出的将是该命名管道的名字(默认设置是MySQL)。

lower_case_table_name = 1/0 新目录和数据表的名字是否只允许使用小写字母; 这个选项在Windows环境下的默认设置是1(只允许使用小写字母)。


mysqld程序--语言设置
引用
character-sets-server = name 新数据库或数据表的默认字符集。为了与MySQL的早期版本保持兼容,这个字符集也可以用--default-character-set选项给出; 但这个选项已经显得有点过时了。

collation-server = name 新数据库或数据表的默认排序方式。

lanuage = name 用指定的语言显示出错信息。


mysqld程序--通信、网络、信息安全
引用
enable-named-pipes 允许Windows 2000/XP环境下的客户和服务器使用命名管道(named pipe)进行通信。这个命名管道的默认名字是MySQL,但可以用--socket选项来改变。

local-infile [=0] 允许/禁止使用LOAD DATA LOCAL语句来处理本地文件。

myisam-recover [=opt1, opt2, ...] 在启动时自动修复所有受损的MyISAM数据表。这个选项的可取值有4种:DEFAULT、BACKUP、QUICK和FORCE; 它们与myisamchk程序的同名选项作用相同。

old-passwords 使用MySQL 3.23和4.0版本中的老算法来加密mysql数据库里的密码(默认使用MySQL 4.1版本开始引入的新加密算法)。

port = n 为MySQL程序指定一个TCP/IP通信端口(通常是3306端口)。

safe-user-create 只有在mysql.user数据库表上拥有INSERT权限的用户才能使用GRANT命令; 这是一种双保险机制(此用户还必须具备GRANT权限才能执行GRANT命令)。

shared-memory 允许使用内存(shared memory)进行通信(仅适用于Windows)。

shared-memory-base-name = name 给共享内存块起一个名字(默认的名字是MySQL)。

skip-grant-tables 不使用mysql数据库里的信息来进行访问控制(警告:这将允许用户任何用户去修改任何数据库)。

skip-host-cache 不使用高速缓存区来存放主机名和IP地址的对应关系。

skip-name-resovle 不把IP地址解析为主机名; 与访问控制(mysql.user数据表)有关的检查全部通过IP地址行进。

skip-networking 只允许通过一个套接字文件(Unix/Linux系统)或通过命名管道(Windows系统)进行本地连接,不允许ICP/IP连接; 这提高了安全性,但阻断了来自网络的外部连接和所有的Java客户程序(Java客户即使在本地连接里也使用TCP/IP)。

user = name mysqld程序在启动后将在给定UNIX/Linux账户下执行; mysqld必须从root账户启动才能在启动后切换到另一个账户下执行; mysqld_safe脚本将默认使用--user=mysql选项来启动mysqld程序。


mysqld程序--内存管理、优化、查询缓存区
引用
bulk_insert_buffer_size = n 为一次插入多条新记录的INSERT命令分配的缓存区长度(默认设置是8M)。

key_buffer_size = n 用来存放索引区块的RMA值(默认设置是8M)。

join_buffer_size = n 在参加JOIN操作的数据列没有索引时为JOIN操作分配的缓存区长度(默认设置是128K)。

max_heap_table_size = n HEAP数据表的最大长度(默认设置是16M); 超过这个长度的HEAP数据表将被存入一个临时文件而不是驻留在内存里。

max_connections = n MySQL服务器同时处理的数据库连接的最大数量(默认设置是100)。

query_cache_limit = n 允许临时存放在查询缓存区里的查询结果的最大长度(默认设置是1M)。

query_cache_size = n 查询缓存区的最大长度(默认设置是0,不开辟查询缓存区)。

query_cache_type = 0/1/2 查询缓存区的工作模式:0, 禁用查询缓存区; 1,启用查询缓存区(默认设置); 2,"按需分配"模式,只响应SELECT SQL_CACHE命令。

read_buffer_size = n 为从数据表顺序读取数据的读操作保留的缓存区的长度(默认设置是128KB); 这个选项的设置值在必要时可以用SQL命令SET SESSION read_buffer_size = n命令加以改变。

read_rnd_buffer_size = n 类似于read_buffer_size选项,但针对的是按某种特定顺序(比如使用了ORDER BY子句的查询)输出的查询结果(默认设置是256K)。

sore_buffer = n 为排序操作分配的缓存区的长度(默认设置是2M); 如果这个缓存区太小,则必须创建一个临时文件来进行排序。

table_cache = n 同时打开的数据表的数量(默认设置是64)。

tmp_table_size = n 临时HEAP数据表的最大长度(默认设置是32M); 超过这个长度的临时数据表将被转换为MyISAM数据表并存入一个临时文件。


mysqld程序--日志
引用
log [= file] 把所有的连接以及所有的SQL命令记入日志(通用查询日志); 如果没有给出file参数,MySQL将在数据库目录里创建一个hostname.log文件作为这种日志文件(hostname是服务器的主机名)。

log-slow-queries [= file] 把执行用时超过long_query_time变量值的查询命令记入日志(慢查询日志); 如果没有给出file参数,MySQL将在数据库目录里创建一个hostname-slow.log文件作为这种日志文件(hostname是服务器主机 名)。

long_query_time = n 慢查询的执行用时上限(默认设置是10s)。

long_queries_not_using_indexs 把慢查询以及执行时没有使用索引的查询命令全都记入日志(其余同--log-slow-queries选项)。

log-bin [= filename] 把对数据进行修改的所有SQL命令(也就是INSERT、UPDATE和DELETE命令)以二进制格式记入日志(二进制变更日志,binary update log)。这种日志的文件名是filename.n或默认的hostname.n,其中n是一个6位数字的整数(日志文件按顺序编号)。

log-bin-index = filename 二进制日志功能的索引文件名。在默认情况下,这个索引文件与二进制日志文件的名字相同,但后缀名是.index而不是.nnnnnn。

max_binlog_size = n 二进制日志文件的最大长度(默认设置是1GB)。在前一个二进制日志文件里的信息量超过这个最大长度之前,MySQL服务器会自动提供一个新的二进制日志文件接续上。

binlog-do-db = dbname 只把给定数据库里的变化情况记入二进制日志文件,其他数据库里的变化情况不记载。如果需要记载多个数据库里的变化情况,就必须在配置文件使用多个本选项来设置,每个数据库一行。

binlog-ignore-db = dbname 不把给定数据库里的变化情况记入二进制日志文件。

sync_binlog = n 每经过n次日志写操作就把日志文件写入硬盘一次(对日志信息进行一次同步)。n=1是最安全的做法,但效率最低。默认设置是n=0,意思是由操作系统来负责二进制日志文件的同步工作。

log-update [= file] 记载出错情况的日志文件名(出错日志)。这种日志功能无法禁用。如果没有给出file参数,MySQL会使用hostname.err作为种日志文件的名字。


mysqld程序--镜像(主控镜像服务器)
引用
server-id = n 给服务器分配一个独一无二的ID编号; n的取值范围是1~2的32次方启用二进制日志功能。

log-bin = name 启用二进制日志功能。这种日志的文件名是filename.n或默认的hostname.n,其中的n是一个6位数字的整数(日志文件顺序编号)。

binlog-do/ignore-db = dbname 只把给定数据库里的变化情况记入二进制日志文件/不把给定的数据库里的变化记入二进制日志文件。


mysqld程序--镜像(从属镜像服务器)
引用
server-id = n 给服务器分配一个唯一的ID编号

log-slave-updates 启用从属服务器上的日志功能,使这台计算机可以用来构成一个镜像链(A->B->C)。

master-host = hostname 主控服务器的主机名或IP地址。如果从属服务器上存在mater.info文件(镜像关系定义文件),它将忽略此选项。

master-user = replicusername 从属服务器用来连接主控服务器的用户名。如果从属服务器上存在mater.info文件,它将忽略此选项。

master-password = passwd 从属服务器用来连接主控服务器的密码。如果从属服务器上存在mater.info文件,它将忽略此选项。

master-port = n 从属服务器用来连接主控服务器的TCP/IP端口(默认设置是3306端口)。

master-connect-retry = n 如果与主控服务器的连接没有成功,则等待n秒(s)后再进行管理方式(默认设置是60s)。如果从属服务器存在mater.info文件,它将忽略此选项。

master-ssl-xxx = xxx 对主、从服务器之间的SSL通信进行配置。

read-only = 0/1 0: 允许从属服务器独立地执行SQL命令(默认设置); 1: 从属服务器只能执行来自主控服务器的SQL命令。

read-log-purge = 0/1 1: 把处理完的SQL命令立刻从中继日志文件里删除(默认设置); 0: 不把处理完的SQL命令立刻从中继日志文件里删除。

replicate-do-table = dbname.tablename 与--replicate-do-table选项的含义和用法相同,但数据库和数据库表名字里允许出现通配符"%" (例如: test%.%--对名字以"test"开头的所有数据库里的所以数据库表进行镜像处理)。

replicate-do-db = name 只对这个数据库进行镜像处理。

replicate-ignore-table = dbname.tablename 不对这个数据表进行镜像处理。

replicate-wild-ignore-table = dbn.tablen 不对这些数据表进行镜像处理。

replicate-ignore-db = dbname 不对这个数据库进行镜像处理。

replicate-rewrite-db = db1name > db2name 把主控数据库上的db1name数据库镜像处理为从属服务器上的db2name数据库。

report-host = hostname 从属服务器的主机名; 这项信息只与SHOW SLAVE HOSTS命令有关--主控服务器可以用这条命令生成一份从属服务器的名单。

slave-compressed-protocol = 1 主、从服务器使用压缩格式进行通信--如果它们都支持这么做的话。

slave-skip-errors = n1, n2, ...或all 即使发生出错代码为n1、n2等的错误,镜像处理工作也继续进行(即不管发生什么错误,镜像处理工作也继续进行)。如果配置得当,从属服务器不应该在执行 SQL命令时发生错误(在主控服务器上执行出错的SQL命令不会被发送到从属服务器上做镜像处理); 如果不使用slave-skip-errors选项,从属服务器上的镜像工作就可能因为发生错误而中断,中断后需要有人工参与才能继续进行。


mysqld--InnoDB--基本设置、表空间文件
引用
skip-innodb 不加载InnoDB数据表驱动程序--如果用不着InnoDB数据表,可以用这个选项节省一些内存。

innodb-file-per-table 为每一个新数据表创建一个表空间文件而不是把数据表都集中保存在中央表空间里(后者是默认设置)。该选项始见于MySQL 4.1。

innodb-open-file = n InnoDB数据表驱动程序最多可以同时打开的文件数(默认设置是300)。如果使用了

innodb-file-per-table选项并且需要同时打开很多数据表的话,这个数字很可能需要加大。

innodb_data_home_dir = p InnoDB主目录,所有与InnoDB数据表有关的目录或文件路径都相对于这个路径。在默认的情况下,这个主目录就是MySQL的数据目录。

innodb_data_file_path = ts 用来容纳InnoDB为数据表的表空间: 可能涉及一个以上的文件; 每一个表空间文件的最大长度都必须以字节(B)、兆字节(MB)或千兆字节(GB)为单位给出; 表空间文件的名字必须以分号隔开; 最后一个表空间文件还可以带一个autoextend属性和一个最大长度(max:n)。例如,ibdata1:1G; ibdata2:1G:autoextend:max:2G的意思是: 表空间文件ibdata1的最大长度是1GB,ibdata2的最大长度也是1G,但允许它扩充到2GB。除文件名外,还可以用硬盘分区的设置名来定义表 空间,此时必须给表空间的最大初始长度值加上newraw关键字做后缀,给表空间的最大扩充长度值加上raw关键字做后缀(例如/dev/hdb1: 20Gnewraw或/dev/hdb1:20Graw); MySQL 4.0及更高版本的默认设置是ibdata1:10M:autoextend。

innodb_autoextend_increment = n 带有autoextend属性的表空间文件每次加大多少兆字节(默认设置是8MB)。这个属性不涉及具体的数据表文件,那些文件的增大速度相对是比较小的。

innodb_lock_wait_timeout = n 如果某个事务在等待n秒(s)后还没有获得所需要的资源,就使用ROLLBACK命令放弃这个事务。这项设置对于发现和处理未能被InnoDB数据表驱动 程序识别出来的死锁条件有着重要的意义。这个选项的默认设置是50s。

innodb_fast_shutdown 0/1 是否以最快的速度关闭InnoDB,默认设置是1,意思是不把缓存在INSERT缓存区的数据写入数据表,那些数据将在MySQL服务器下次启动时再写入 (这么做没有什么风险,因为INSERT缓存区是表空间的一个组成部分,数据不会丢失)。把这个选项设置为0反面危险,因为在计算机关闭时,InnoDB 驱动程序很可能没有足够的时间完成它的数据同步工作,操作系统也许会在它完成数据同步工作之前强行结束InnoDB,而这会导致数据不完整。


mysqld程序--InnoDB--日志
引用
innodb_log_group_home_dir = p 用来存放InnoDB日志文件的目录路径(如ib_logfile0、ib_logfile1等)。在默认的情况下,InnoDB驱动程序将使用MySQL数据目录作为自己保存日志文件的位置。

innodb_log_files_in_group = n 使用多少个日志文件(默认设置是2)。InnoDB数据表驱动程序将以轮转方式依次填写这些文件; 当所有的日志文件都写满以后,之后的日志信息将写入第一个日志文件的最大长度(默认设置是5MB)。这个长度必须以MB(兆字节)或GB(千兆字节)为单 位进行设置。

innodb_flush_log_at_trx_commit = 0/1/2 这个选项决定着什么时候把日志信息写入日志文件以及什么时候把这些文件物理地写(术语称为"同步")到硬盘上。设置值0的意思是每隔一秒写一次日志并进行 同步,这可以减少硬盘写操作次数,但可能造成数据丢失; 设置值1(设置设置)的意思是在每执行完一条COMMIT命令就写一次日志并进行同步,这可以防止数据丢失,但硬盘写操作可能会很频繁; 设置值2是一般折衷的办法,即每执行完一条COMMIT命令写一次日志,每隔一秒进行一次同步。

innodb_flush_method = x InnoDB日志文件的同步办法(仅适用于UNIX/Linux系统)。这个选项的可取值有两种: fdatasync,用fsync()函数进行同步; O_DSYNC,用O_SYNC()函数进行同步。

innodb_log_archive = 1 启用InnoDB驱动程序的archive(档案)日志功能,把日志信息写入ib_arch_log_n文件。启用这种日志功能在InnoDB与 MySQL一起使用时没有多大意义(启用MySQL服务器的二进制日志功能就足够用了)。


mysqld程序--InnoDB--缓存区的设置和优化
引用
innodb_log_buffer_pool_size = n 为InnoDB数据表及其索引而保留的RAM内存量(默认设置是8MB)。这个参数对速度有着相当大的影响,如果计算机上只运行有 MySQL/InnoDB数据库服务器,就应该把全部内存的80%用于这个用途。

innodb_log_buffer_size = n 事务日志文件写操作缓存区的最大长度(默认设置是1MB)。

innodb_additional_men_pool_size = n 为用于内部管理的各种数据结构分配的缓存区最大长度(默认设置是1MB)。

innodb_file_io_threads = n I/O操作(硬盘写操作)的最大线程个数(默认设置是4)。

innodb_thread_concurrency = n InnoDB驱动程序能够同时使用的最大线程个数(默认设置是8)。


mysqld程序--其它选项
引用
bind-address = ipaddr MySQL服务器的IP地址。如果MySQL服务器所在的计算机有多个IP地址,这个选项将非常重要。

default-storage-engine = type 新数据表的默认数据表类型(默认设置是MyISAM)。这项设置还可以通过--default-table-type选项来设置。

default-timezone = name 为MySQL服务器设置一个地理时区(如果它与本地计算机的地理时区不一样)。

ft_min_word_len = n 全文索引的最小单词长度工。这个选项的默认设置是4,意思是在创建全文索引时不考虑那些由3个或更少的字符构建单词。

Max-allowed-packet = n 客户与服务器之间交换的数据包的最大长度,这个数字至少应该大于客户程序将要处理的最大BLOB块的长度。这个选项的默认设置是1MB。

Sql-mode = model1, mode2, ... MySQL将运行在哪一种SQL模式下。这个选项的作用是让MySQL与其他的数据库系统保持最大程度的兼容。这个选项的可取值包括ansi、db2、 oracle、no_zero_date、pipes_as_concat。


注意:如果在配置文件里给出的某个选项是mysqld无法识别的,MySQL服务器将不启动。

MYSQL出错信息表

mysql出错了,以前往往靠猜.有了这张表,一查就出来了.方便不少.特共享于众
1005:创建表失败
1006:创建数据库失败
1007:数据库已存在,创建数据库失败
1008:数据库不存在,删除数据库失败
1009:不能删除数据库文件导致删除数据库失败
1010:不能删除数据目录导致删除数据库失败
1011:删除数据库文件失败
1012:不能读取系统表中的记录
1020:记录已被其他用户修改
1021:硬盘剩余空间不足,请加大硬盘可用空间
1022:关键字重复,更改记录失败
1023:关闭时发生错误
1024:读文件错误
1025:更改名字时发生错误
1026:写文件错误
1032:记录不存在
1036:数据表是只读的,不能对它进行修改
1037:系统内存不足,请重启数据库或重启服务器
1038:用于排序的内存不足,请增大排序缓冲区
1040:已到达数据库的最大连接数,请加大数据库可用连接数
1041:系统内存不足
1042:无效的主机名
1043:无效连接
1044:当前用户没有访问数据库的权限
1045:不能连接数据库,用户名或密码错误
1048:字段不能为空
1049:数据库不存在
1050:数据表已存在
1051:数据表不存在
1054:字段不存在
1065:无效的SQL语句,SQL语句为空
1081:不能建立Socket连接
1114:数据表已满,不能容纳任何记录
1116:打开的数据表太多
1129:数据库出现异常,请重启数据库
1130:连接数据库失败,没有连接数据库的权限
1133:数据库用户不存在
1141:当前用户无权访问数据库
1142:当前用户无权访问数据表
1143:当前用户无权访问数据表中的字段
1146:数据表不存在
1147:未定义用户对数据表的访问权限
1149:SQL语句语法错误
1158:网络错误,出现读错误,请检查网络连接状况
1159:网络错误,读超时,请检查网络连接状况
1160:网络错误,出现写错误,请检查网络连接状况
1161:网络错误,写超时,请检查网络连接状况
1062:字段值重复,入库失败
1169:字段值重复,更新记录失败
1177:打开数据表失败
1180:提交事务失败
1181:回滚事务失败
1203:当前用户和数据库建立的连接已到达数据库的最大连接数,请增大可用的数据库连接数或重启数据库
1205:加锁超时
1211:当前用户没有创建用户的权限
1216:外键约束检查失败,更新子表记录失败
1217:外键约束检查失败,删除或修改主表记录失败
1226:当前用户使用的资源已超过所允许的资源,请重启数据库或重启服务器
1227:权限不足,您无权进行此操作
1235:MySQL版本过低,不具有本功能


第二部分 新4.1.11,摘自DOCSmysqld_error.txt

character-set=utf-8 isher补充


#define ER_HASHCHK 1000
"hashchk",

#define ER_NISAMCHK 1001
"isamchk",

#define ER_NO 1002
"NO",

#define ER_YES 1003
"YES",

#define ER_CANT_CREATE_FILE 1004
"Can't create file '%-.64s' (errno: %d)",

#define ER_CANT_CREATE_TABLE 1005
"Can't create table '%-.64s' (errno: %d)",

#define ER_CANT_CREATE_DB 1006
"Can't create database '%-.64s' (errno: %d)",

#define ER_DB_CREATE_EXISTS 1007
"Can't create database '%-.64s'; database exists",

#define ER_DB_DROP_EXISTS 1008
"Can't drop database '%-.64s'; database doesn't exist",

#define ER_DB_DROP_DELETE 1009
"Error dropping database (can't delete '%-.64s', errno: %d)",

#define ER_DB_DROP_RMDIR 1010
"Error dropping database (can't rmdir '%-.64s', errno: %d)",

#define ER_CANT_DELETE_FILE 1011
"Error on delete of '%-.64s' (errno: %d)",

#define ER_CANT_FIND_SYSTEM_REC 1012
"Can't read record in system table",

#define ER_CANT_GET_STAT 1013
"Can't get status of '%-.64s' (errno: %d)",

#define ER_CANT_GET_WD 1014
"Can't get working directory (errno: %d)",

#define ER_CANT_LOCK 1015
"Can't lock file (errno: %d)",

#define ER_CANT_OPEN_FILE 1016
"Can't open file: '%-.64s' (errno: %d)",

#define ER_FILE_NOT_FOUND 1017
"Can't find file: '%-.64s' (errno: %d)",

#define ER_CANT_READ_DIR 1018
"Can't read dir of '%-.64s' (errno: %d)",

#define ER_CANT_SET_WD 1019
"Can't change dir to '%-.64s' (errno: %d)",

#define ER_CHECKREAD 1020
"Record has changed since last read in table '%-.64s'",

#define ER_DISK_FULL 1021
"Disk full (%s). Waiting for someone to free some space...",

#define ER_DUP_KEY 1022
"Can't write, duplicate key in table '%-.64s'",

#define ER_ERROR_ON_CLOSE 1023
"Error on close of '%-.64s' (errno: %d)",

#define ER_ERROR_ON_READ 1024
"Error reading file '%-.64s' (errno: %d)",

#define ER_ERROR_ON_RENAME 1025
"Error on rename of '%-.64s' to '%-.64s' (errno: %d)",

#define ER_ERROR_ON_WRITE 1026
"Error writing file '%-.64s' (errno: %d)",

#define ER_FILE_USED 1027
"'%-.64s' is locked against change",

#define ER_FILSORT_ABORT 1028
"So瘀牡?剕????o鸞?rt aborted",

#define ER_FORM_NOT_FOUND 1029
"View '%-.64s' doesn't exist for '%-.64s'",

#define ER_GET_ERRNO 1030
"Got error %d from storage engine",

#define ER_ILLEGAL_HA 1031
"Table storage engine for '%-.64s' doesn't have this option",

#define ER_KEY_NOT_FOUND 1032
"Can't find record in '%-.64s'",

#define ER_NOT_FORM_FILE 1033
"Incorrect information in file: '%-.64s'",

#define ER_NOT_KEYFILE 1034
"Incorrect key file for table: '%-.64s'; try to repair it",

#define ER_OLD_KEYFILE 1035
"Old key file for table '%-.64s'; repair it!",

#define ER_OPEN_AS_READONLY 1036
"Table '%-.64s' is read only",

#define ER_OUTOFMEMORY 1037
"Out of memory. Restart daemon and try again (needed %d bytes)",

#define ER_OUT_OF_SORTMEMORY 1038
"Out of sort memory. Increase daemon sort buffer size",

#define ER_UNEXPECTED_EOF 1039
"Unexpected eof found when reading file '%-.64s' (errno: %d)",

#define ER_CON_COUNT_ERROR 1040
"Too many connections",

#define ER_OUT_OF_RESOURCES 1041
"Out of memory; Check if mysqld or some other process uses all available memory. If not you may have to use 'ulimit' to allow mysqld to use more memory or you can add more swap space",

#define ER_BAD_HOST_ERROR 1042
"Can't get hostname for your address",

#define ER_HANDSHAKE_ERROR 1043
"Bad handshake",

#define ER_DBACCESS_DENIED_ERROR 1044
"Access denied for user: '%-.32s'@'%-.64s' to database '%-.64s'",

#define ER_ACCESS_DENIED_ERROR 1045
"Access denied for user: '%-.32s'@'%-.64s' (Using password: %s)",

#define ER_NO_DB_ERROR 1046
"No Database Selected",

#define ER_UNKNOWN_COM_ERROR 1047
"Unknown command",

#define ER_BAD_NULL_ERROR 1048
"Column '%-.64s' cannot be null",

#define ER_BAD_DB_ERROR 1049
"Unknown database '%-.64s'",

#define ER_TABLE_EXISTS_ERROR 1050
"Table '%-.64s' already exists",

#define ER_BAD_TABLE_ERROR 1051
"Unknown table '%-.64s'",

#define ER_NON_UNIQ_ERROR 1052
"Column: '%-.64s' in %-.64s is ambiguous",

#define ER_SERVER_SHUTDOWN 1053
"Server shutdown in progress",

#define ER_BAD_FIELD_ERROR 1瘀牡?剕????o鸞?054
"Unknown column '%-.64s' in '%-.64s'",

#define ER_WRONG_FIELD_WITH_GROUP 1055
"'%-.64s' isn't in GROUP BY",

#define ER_WRONG_GROUP_FIELD 1056
"Can't group on '%-.64s'",

#define ER_WRONG_SUM_SELECT 1057
"Statement has sum functions and columns in same statement",

#define ER_WRONG_VALUE_COUNT 1058
"Column count doesn't match value count",

#define ER_TOO_LONG_IDENT 1059
"Identifier name '%-.100s' is too long",

#define ER_DUP_FIELDNAME 1060
"Duplicate column name '%-.64s'",

#define ER_DUP_KEYNAME 1061
"Duplicate key name '%-.64s'",

#define ER_DUP_ENTRY 1062
"Duplicate entry '%-.64s' for key %d",

#define ER_WRONG_FIELD_SPEC 1063
"Incorrect column specifier for column '%-.64s'",

#define ER_PARSE_ERROR 1064
"%s near '%-.80s' at line %d",

#define ER_EMPTY_QUERY 1065
"Query was empty",

#define ER_NONUNIQ_TABLE 1066
"Not unique table/alias: '%-.64s'",

#define ER_INVALID_DEFAULT 1067
"Invalid default value for '%-.64s'",

#define ER_MULTIPLE_PRI_KEY 1068
"Multiple primary key defined",

#define ER_TOO_MANY_KEYS 1069
"Too many keys specified; max %d keys allowed",

#define ER_TOO_MANY_KEY_PARTS 1070
"Too many key parts specified. Max %d parts allowed",

#define ER_TOO_LONG_KEY 1071
"Specified key was too long; max key length is %d bytes",

#define ER_KEY_COLUMN_DOES_NOT_EXITS 1072
"Key column '%-.64s' doesn't exist in table",

#define ER_BLOB_USED_AS_KEY 1073
"BLOB column '%-.64s' can't be used in key specification with the used table type",

#define ER_TOO_BIG_FIELDLENGTH 1074
"Too big column length for column '%-.64s' (max = %d). Use BLOB instead",

#define ER_WRONG_AUTO_KEY 1075
"Incorrect table definition; There can only be one auto column and it must be defined as a key",

#define ER_READY 1076
"%s: ready for connections.
Version: '%s' socket: '%s' port: %d
",

#define ER_NORMAL_SHUTDOWN 1077
"%s: Normal shutdown
",

#define ER_GOT_SIGNAL 1078
"%s: Got signal %d. Aborting!
",

#define ER_SHUTDOWN_COMPLETE 1079
"%s: Shutdown Complete
",

#define ER_FORCING_CLOSE 1080
"%s: 瘀牡?剕????o鸞?Forcing close of thread %ld user: '%-.32s'
",

#define ER_IPSOCK_ERROR 1081
"Can't create IP socket",

#define ER_NO_SUCH_INDEX 1082
"Table '%-.64s' has no index like the one used in CREATE INDEX. Recreate the table",

#define ER_WRONG_FIELD_TERMINATORS 1083
"Field separator argument is not what is expected. Check the manual",

#define ER_BLOBS_AND_NO_TERMINATED 1084
"You can't use fixed rowlength with BLOBs. Please use 'fields terminated by'",

#define ER_TEXTFILE_NOT_READABLE 1085
"The file '%-.64s' must be in the database directory or be readable by all",

#define ER_FILE_EXISTS_ERROR 1086
"File '%-.80s' already exists",

#define ER_LOAD_INFO 1087
"Records: %ld Deleted: %ld Skipped: %ld Warnings: %ld",

#define ER_ALTER_INFO 1088
"Records: %ld Duplicates: %ld",

#define ER_WRONG_SUB_KEY 1089
"Incorrect sub part key. The used key part isn't a string, the used length is longer than the key part or the storage engine doesn't support unique sub keys",

#define ER_CANT_REMOVE_ALL_FIELDS 1090
"You can't delete all columns with ALTER TABLE. Use DROP TABLE instead",

#define ER_CANT_DROP_FIELD_OR_KEY 1091
"Can't DROP '%-.64s'. Check that column/key exists",

#define ER_INSERT_INFO 1092
"Records: %ld Duplicates: %ld Warnings: %ld",

#define ER_UPDATE_TABLE_USED 1093
"You can't specify target table '%-.64s' for update in FROM clause",

#define ER_NO_SUCH_THREAD 1094
"Unknown thread id: %lu",

#define ER_KILL_DENIED_ERROR 1095
"You are not owner of thread %lu",

#define ER_NO_TABLES_USED 1096
"No tables used",

#define ER_TOO_BIG_SET 1097
"Too many strings for column %-.64s and SET",

#define ER_NO_UNIQUE_LOGFILE 1098
"Can't generate a unique log-filename %-.64s.(1-999)
",

#define ER_TABLE_NOT_LOCKED_FOR_WRITE 1099
"Table '%-.64s' was locked with a READ lock and can't be updated",

#define ER_TABLE_NOT_LOCKED 1100
"Table '%-.64s' was not locked with LOCK TABLES",

#define ER_BLOB_CANT_HAVE_DEFAULT 1101
"BLOB/TEXT column '%-.64s' can't have a default value",

#define ER_WRONG_DB_NAME 1102
"Incorre瘀牡?剕????o鸞?ct database name '%-.100s'",

#define ER_WRONG_TABLE_NAME 1103
"Incorrect table name '%-.100s'",

#define ER_TOO_BIG_SELECT 1104
"The SELECT would examine more rows than MAX_JOIN_SIZE. Check your WHERE and use SET SQL_BIG_SELECTS=1 or SET SQL_MAX_JOIN_SIZE=
# if the SELECT is ok",

#define ER_UNKNOWN_ERROR 1105
"Unknown error",

#define ER_UNKNOWN_PROCEDURE 1106
"Unknown procedure '%-.64s'",

#define ER_WRONG_PARAMCOUNT_TO_PROCEDURE 1107
"Incorrect parameter count to procedure '%-.64s'",

#define ER_WRONG_PARAMETERS_TO_PROCEDURE 1108
"Incorrect parameters to procedure '%-.64s'",

#define ER_UNKNOWN_TABLE 1109
"Unknown table '%-.64s' in %-.32s",

#define ER_FIELD_SPECIFIED_TWICE 1110
"Column '%-.64s' specified twice",

#define ER_INVALID_GROUP_FUNC_USE 1111
"Invalid use of group function",

#define ER_UNSUPPORTED_EXTENSION 1112
"Table '%-.64s' uses an extension that doesn't exist in this MySQL version",

#define ER_TABLE_MUST_HAVE_COLUMNS 1113
"A table must have at least 1 column",

#define ER_RECORD_FILE_FULL 1114
"The table '%-.64s' is full",

#define ER_UNKNOWN_CHARACTER_SET 1115
"Unknown character set: '%-.64s'",

#define ER_TOO_MANY_TABLES 1116
"Too many tables. MySQL can only use %d tables in a join",

#define ER_TOO_MANY_FIELDS 1117
"Too many columns",

#define ER_TOO_BIG_ROWSIZE 1118
"Too big row size. The maximum row size for the used table type, not counting BLOBs, is %ld. You have to change some fields to TEXT or BLOBs",

#define ER_STACK_OVERRUN 1119
"Thread stack overrun: Used: %ld of a %ld stack. Use 'mysqld -O thread_stack=
#' to specify a bigger stack if needed",

#define ER_WRONG_OUTER_JOIN 1120
"Cross dependency found in OUTER JOIN. Examine your ON conditions",

#define ER_NULL_COLUMN_IN_INDEX 1121
"Column '%-.64s' is used with UNIQUE or INDEX but is not defined as NOT NULL",

#define ER_CANT_FIND_UDF 1122
"Can't load function '%-.64s'",

#define ER_CANT_INITIALIZE_UDF 1123
"Can't initialize function '%-.64s'; %-.80s",

#define ER_UDF_NO_PATHS 1124
"No paths allowed for shared瘀牡?剕????o鸞? liary",

#define ER_UDF_EXISTS 1125
"Function '%-.64s' already exist",

#define ER_CANT_OPEN_LIBRARY 1126
"Can't open shared liary '%-.64s' (errno: %d %-.64s)",

#define ER_CANT_FIND_DL_ENTRY 1127
"Can't find function '%-.64s' in liary'",

#define ER_FUNCTION_NOT_DEFINED 1128
"Function '%-.64s' is not defined",

#define ER_HOST_IS_BLOCKED 1129
"Host '%-.64s' is blocked because of many connection errors. Unblock with 'mysqladmin flush-hosts'",

#define ER_HOST_NOT_PRIVILEGED 1130
"Host '%-.64s' is not allowed to connect to this MySQL server",

#define ER_PASSWORD_ANONYMOUS_USER 1131
"You are using MySQL as an anonymous users and anonymous users are not allowed to change passwords",

#define ER_PASSWORD_NOT_ALLOWED 1132
"You must have privileges to update tables in the mysql database to be able to change passwords for others",

#define ER_PASSWORD_NO_MATCH 1133
"Can't find any matching row in the user table",

#define ER_UPDATE_INFO 1134
"Rows matched: %ld Changed: %ld Warnings: %ld",

#define ER_CANT_CREATE_THREAD 1135
"Can't create a new thread (errno %d). If you are not out of available memory, you can consult the manual for a possible OS-dependent bug",

#define ER_WRONG_VALUE_COUNT_ON_ROW 1136
"Column count doesn't match value count at row %ld",

#define ER_CANT_REOPEN_TABLE 1137
"Can't reopen table: '%-.64s'",

#define ER_INVALID_USE_OF_NULL 1138
"Invalid use of NULL value",

#define ER_REGEXP_ERROR 1139
"Got error '%-.64s' from regexp",

#define ER_MIX_OF_GROUP_FUNC_AND_FIELDS 1140
"Mixing of GROUP columns (MIN(),MAX(),COUNT()...) with no GROUP columns is illegal if there is no GROUP BY clause",

#define ER_NONEXISTING_GRANT 1141
"There is no such grant defined for user '%-.32s' on host '%-.64s'",

#define ER_TABLEACCESS_DENIED_ERROR 1142
"%-.16s command denied to user: '%-.32s'@'%-.64s' for table '%-.64s'",

#define ER_COLUMNACCESS_DENIED_ERROR 1143
"%-.16s command denied to user: '%-.32s'@'%-.64s' for column '%-.64s' in table '%-.64s'",

#define ER_ILLEGAL_GRANT_FOR_TABLE 1144
"I瘀牡?剕????o鸞?llegal GRANT/REVOKE command. Please consult the manual which privileges can be used",

#define ER_GRANT_WRONG_HOST_OR_USER 1145
"The host or user argument to GRANT is too long",

#define ER_NO_SUCH_TABLE 1146
"Table '%-.64s.%-.64s' doesn't exist",

#define ER_NONEXISTING_TABLE_GRANT 1147
"There is no such grant defined for user '%-.32s' on host '%-.64s' on table '%-.64s'",

#define ER_NOT_ALLOWED_COMMAND 1148
"The used command is not allowed with this MySQL version",

#define ER_SYNTAX_ERROR 1149
"You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use",

#define ER_DELAYED_CANT_CHANGE_LOCK 1150
"Delayed insert thread couldn't get requested lock for table %-.64s",

#define ER_TOO_MANY_DELAYED_THREADS 1151
"Too many delayed threads in use",

#define ER_ABORTING_CONNECTION 1152
"Aborted connection %ld to db: '%-.64s' user: '%-.32s' (%-.64s)",

#define ER_NET_PACKET_TOO_LARGE 1153
"Got a packet bigger than 'max_allowed_packet'",

#define ER_NET_READ_ERROR_FROM_PIPE 1154
"Got a read error from the connection pipe",

#define ER_NET_FCNTL_ERROR 1155
"Got an error from fcntl()",

#define ER_NET_PACKETS_OUT_OF_ORDER 1156
"Got packets out of order",

#define ER_NET_UNCOMPRESS_ERROR 1157
"Couldn't uncompress communication packet",

#define ER_NET_READ_ERROR 1158
"Got an error reading communication packets",

#define ER_NET_READ_INTERRUPTED 1159
"Got timeout reading communication packets",

#define ER_NET_ERROR_ON_WRITE 1160
"Got an error writing communication packets",

#define ER_NET_WRITE_INTERRUPTED 1161
"Got timeout writing communication packets",

#define ER_TOO_LONG_STRING 1162
"Result string is longer than max_allowed_packet",

#define ER_TABLE_CANT_HANDLE_BLOB 1163
"The used table type doesn't support BLOB/TEXT columns",

#define ER_TABLE_CANT_HANDLE_AUTO_INCREMENT 1164
"The used table type doesn't support AUTO_INCREMENT columns",

#define ER_DELAYED_INSERT_TABLE_LOCKED 1165
"INSERT DELAYED can't be used with table '%-.64s瘀牡?剕????o鸞?' because it is locked with LOCK TABLES",

#define ER_WRONG_COLUMN_NAME 1166
"Incorrect column name '%-.100s'",

#define ER_WRONG_KEY_COLUMN 1167
"The used storage engine can't index column '%-.64s'",

#define ER_WRONG_MRG_TABLE 1168
"All tables in the MERGE table are not identically defined",

#define ER_DUP_UNIQUE 1169
"Can't write, because of unique constraint, to table '%-.64s'",

#define ER_BLOB_KEY_WITHOUT_LENGTH 1170
"BLOB/TEXT column '%-.64s' used in key specification without a key length",

#define ER_PRIMARY_CANT_HAVE_NULL 1171
"All parts of a PRIMARY KEY must be NOT NULL; If you need NULL in a key, use UNIQUE instead",

#define ER_TOO_MANY_ROWS 1172
"Result consisted of more than one row",

#define ER_REQUIRES_PRIMARY_KEY 1173
"This table type requires a primary key",

#define ER_NO_RAID_COMPILED 1174
"This version of MySQL is not compiled with RAID support",

#define ER_UPDATE_WITHOUT_KEY_IN_SAFE_MODE 1175
"You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column",

#define ER_KEY_DOES_NOT_EXITS 1176
"Key '%-.64s' doesn't exist in table '%-.64s'",

#define ER_CHECK_NO_SUCH_TABLE 1177
"Can't open table",

#define ER_CHECK_NOT_IMPLEMENTED 1178
"The storage engine for the table doesn't support %s",

#define ER_CANT_DO_THIS_DURING_AN_TRANSACTION 1179
"You are not allowed to execute this command in a transaction",

#define ER_ERROR_DURING_COMMIT 1180
"Got error %d during COMMIT",

#define ER_ERROR_DURING_ROLLBACK 1181
"Got error %d during ROLLBACK",

#define ER_ERROR_DURING_FLUSH_LOGS 1182
"Got error %d during FLUSH_LOGS",

#define ER_ERROR_DURING_CHECKPOINT 1183
"Got error %d during CHECKPOINT",

#define ER_NEW_ABORTING_CONNECTION 1184
"Aborted connection %ld to db: '%-.64s' user: '%-.32s' host: `%-.64s' (%-.64s)",

#define ER_DUMP_NOT_IMPLEMENTED 1185
"The storage engine for the table does not support binary table dump",

#define ER_FLUSH_MASTER_BINLOG_CLOSED 1186
"Binlog closed, cannot RESET MASTER",

#define ER_INDEX_REBUILD 1187
"Faile瘀牡?剕????o鸞?d rebuilding the index of dumped table '%-.64s'",

#define ER_MASTER 1188
"Error from master: '%-.64s'",

#define ER_MASTER_NET_READ 1189
"Net error reading from master",

#define ER_MASTER_NET_WRITE 1190
"Net error writing to master",

#define ER_FT_MATCHING_KEY_NOT_FOUND 1191
"Can't find FULLTEXT index matching the column list",

#define ER_LOCK_OR_ACTIVE_TRANSACTION 1192
"Can't execute the given command because you have active locked tables or an active transaction",

#define ER_UNKNOWN_SYSTEM_VARIABLE 1193
"Unknown system variable '%-.64s'",

#define ER_CRASHED_ON_USAGE 1194
"Table '%-.64s' is marked as crashed and should be repaired",

#define ER_CRASHED_ON_REPAIR 1195
"Table '%-.64s' is marked as crashed and last (automatic?) repair failed",

#define ER_WARNING_NOT_COMPLETE_ROLLBACK 1196
"Some non-transactional changed tables couldn't be rolled back",

#define ER_TRANS_CACHE_FULL 1197
"Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again",

#define ER_SLAVE_MUST_STOP 1198
"This operation cannot be performed with a running slave, run STOP SLAVE first",

#define ER_SLAVE_NOT_RUNNING 1199
"This operation requires a running slave, configure slave and do START SLAVE",

#define ER_BAD_SLAVE 1200
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",

#define ER_MASTER_INFO 1201
"Could not initialize master info structure, more error messages can be found in the MySQL error log",

#define ER_SLAVE_THREAD 1202
"Could not create slave thread, check system resources",

#define ER_TOO_MANY_USER_CONNECTIONS 1203
"User %-.64s has already more than 'max_user_connections' active connections",

#define ER_SET_CONSTANTS_ONLY 1204
"You may only use constant expressions with SET",

#define ER_LOCK_WAIT_TIMEOUT 1205
"Lock wait timeout exceeded; Try restarting transaction",

#define ER_LOCK_TABLE_FULL 1206
"The total number of locks exceeds the lock table size",

#define ER_READ_ONLY_TRANSACTION 1207瘀牡?剕????o鸞?
"Update locks cannot be acquired during a READ UNCOMMITTED transaction",

#define ER_DROP_DB_WITH_READ_LOCK 1208
"DROP DATABASE not allowed while thread is holding global read lock",

#define ER_CREATE_DB_WITH_READ_LOCK 1209
"CREATE DATABASE not allowed while thread is holding global read lock",

#define ER_WRONG_ARGUMENTS 1210
"Wrong arguments to %s",

#define ER_NO_PERMISSION_TO_CREATE_USER 1211
"'%-.32s'@'%-.64s' is not allowed to create new users",

#define ER_UNION_TABLES_IN_DIFFERENT_DIR 1212
"Incorrect table definition; all MERGE tables must be in the same database",

#define ER_LOCK_DEADLOCK 1213
"Deadlock found when trying to get lock; Try restarting transaction",

#define ER_TABLE_CANT_HANDLE_FT 1214
"The used table type doesn't support FULLTEXT indexes",

#define ER_CANNOT_ADD_FOREIGN 1215
"Cannot add foreign key constraint",

#define ER_NO_REFERENCED_ROW 1216
"Cannot add or update a child row: a foreign key constraint fails",

#define ER_ROW_IS_REFERENCED 1217
"Cannot delete or update a parent row: a foreign key constraint fails",

#define ER_CONNECT_TO_MASTER 1218
"Error connecting to master: %-.128s",

#define ER_QUERY_ON_MASTER 1219
"Error running query on master: %-.128s",

#define ER_ERROR_WHEN_EXECUTING_COMMAND 1220
"Error when executing command %s: %-.128s",

#define ER_WRONG_USAGE 1221
"Wrong usage of %s and %s",

#define ER_WRONG_NUMBER_OF_COLUMNS_IN_SELECT 1222
"The used SELECT statements have a different number of columns",

#define ER_CANT_UPDATE_WITH_READLOCK 1223
"Can't execute the query because you have a conflicting read lock",

#define ER_MIXING_NOT_ALLOWED 1224
"Mixing of transactional and non-transactional tables is disabled",

#define ER_DUP_ARGUMENT 1225
"Option '%s' used twice in statement",

#define ER_USER_LIMIT_REACHED 1226
"User '%-.64s' has exceeded the '%s' resource (current value: %ld)",

#define ER_SPECIFIC_ACCESS_DENIED_ERROR 1227
"Access denied. You need the %-.128s privilege for this operation",

#define ER_LOCAL_VARIABLE 1228
"Variable '%-.64s' 瘀牡?剕????o鸞?is a SESSION variable and can't be used with SET GLOBAL",

#define ER_GLOBAL_VARIABLE 1229
"Variable '%-.64s' is a GLOBAL variable and should be set with SET GLOBAL",

#define ER_NO_DEFAULT 1230
"Variable '%-.64s' doesn't have a default value",

#define ER_WRONG_VALUE_FOR_VAR 1231
"Variable '%-.64s' can't be set to the value of '%-.64s'",

#define ER_WRONG_TYPE_FOR_VAR 1232
"Wrong argument type to variable '%-.64s'",

#define ER_VAR_CANT_BE_READ 1233
"Variable '%-.64s' can only be set, not read",

#define ER_CANT_USE_OPTION_HERE 1234
"Wrong usage/placement of '%s'",

#define 1235
"This version of MySQL doesn't yet support '%s'",

#define ER_MASTER_FATAL_ERROR_READING_BINLOG 1236
"Got fatal error %d: '%-.128s' from master when reading data from binary log",

#define ER_SLAVE_IGNORED_TABLE 1237
"Slave SQL thread ignored the query because of replicate-*-table rules",

#define ER_INCORRECT_GLOBAL_LOCAL_VAR 1238
"Variable '%-.64s' is a %s variable",

#define ER_WRONG_FK_DEF 1239
"Wrong foreign key definition for '%-.64s': %s",

#define ER_KEY_REF_DO_NOT_MATCH_TABLE_REF 1240
"Key reference and table reference doesn't match",

#define ER_OPERAND_COLUMNS 1241
"Operand should contain %d column(s)",

#define ER_SUBQUERY_NO_1_ROW 1242
"Subquery returns more than 1 row",

#define ER_UNKNOWN_STMT_HANDLER 1243
"Unknown prepared statement handler (%ld) given to %s",

#define ER_CORRUPT_HELP_DB 1244
"Help database is corrupt or does not exist",

#define ER_CYCLIC_REFERENCE 1245
"Cyclic reference on subqueries",

#define ER_AUTO_CONVERT 1246
"Converting column '%s' from %s to %s",

#define ER_ILLEGAL_REFERENCE 1247
"Reference '%-.64s' not supported (%s)",

#define ER_DERIVED_MUST_HAVE_ALIAS 1248
"Every derived table must have it's own alias",

#define ER_SELECT_REDUCED 1249
"Select %u was reduced during optimisation",

#define ER_TABLENAME_NOT_ALLOWED_HERE 1250
"Table '%-.64s' from one of SELECT's can not be used in %-.32s",

#define ER_NOT_SUPPORTED_AUTH_MODE 1251
"Client does not support authentication pr瘀牡?剕????o鸞?otocol requested by server; consider upgrading MySQL client",

#define ER_SPATIAL_CANT_HAVE_NULL 1252
"All parts of a SPATIAL KEY must be NOT NULL",

#define ER_COLLATION_CHARSET_MISMATCH 1253
"COLLATION '%s' is not valid for CHARACTER SET '%s'",

#define ER_SLAVE_WAS_RUNNING 1254
"Slave is already running",

#define ER_SLAVE_WAS_NOT_RUNNING 1255
"Slave has already been stopped",

#define ER_TOO_BIG_FOR_UNCOMPRESS 1256
"Too big size of uncompressed data. The maximum size is %d. (probably, length of uncompressed data was corrupted)",

#define ER_ZLIB_Z_MEM_ERROR 1257
"ZLIB: Not enough memory",

#define ER_ZLIB_Z_BUF_ERROR 1258
"ZLIB: Not enough room in the output buffer (probably, length of uncompressed data was corrupted)",

#define ER_ZLIB_Z_DATA_ERROR 1259
"ZLIB: Input data corrupted",

#define ER_CUT_VALUE_GROUP_CONCAT 1260
"%d line(s) was(were) cut by group_concat()",

#define ER_WARN_TOO_FEW_RECORDS 1261
"Row %ld doesn't contain data for all columns",

#define ER_WARN_TOO_MANY_RECORDS 1262
"Row %ld was truncated; It contained more data than there were input columns",

#define ER_WARN_NULL_TO_NOTNULL 1263
"Data truncated, NULL supplied to NOT NULL column '%s' at row %ld",

#define ER_WARN_DATA_OUT_OF_RANGE 1264
"Data truncated, out of range for column '%s' at row %ld",

#define ER_WARN_DATA_TRUNCATED 1265
"Data truncated for column '%s' at row %ld",

#define ER_WARN_USING_OTHER_HANDLER 1266
"Using storage engine %s for table '%s'",

#define ER_CANT_AGGREGATE_2COLLATIONS 1267
"Illegal mix of collations (%s,%s) and (%s,%s) for operation '%s'",

#define ER_DROP_USER 1268
"Can't drop one or more of the requested users",

#define ER_REVOKE_GRANTS 1269
"Can't revoke all privileges, grant for one or more of the requested users",

#define ER_CANT_AGGREGATE_3COLLATIONS 1270
"Illegal mix of collations (%s,%s), (%s,%s), (%s,%s) for operation '%s'",

#define ER_CANT_AGGREGATE_NCOLLATIONS 1271
"Illegal mix of collations for operation '%s'",

#define ER_VARIABLE_IS_NOT_STRUCT 1272
"Variable '%-.64s' is瘀牡?剕????o鸞? not a variable component (Can't be used as XXXX.variable_name)",

#define ER_UNKNOWN_COLLATION 1273
"Unknown collation: '%-.64s'",

#define ER_SLAVE_IGNORED_SSL_PARAMS 1274
"SSL parameters in CHANGE MASTER are ignored because this MySQL slave was compiled without SSL support; they can be used later when MySQL slave with SSL will be started",

#define ER_SERVER_IS_IN_SECURE_AUTH_MODE 1275
"Server is running in --secure-auth mode, but '%s'@'%s' has a password in the old format; please change the password to the new format",

#define ER_WARN_FIELD_RESOLVED 1276
"Field or reference '%-.64s%s%-.64s%s%-.64s' of SELECT
#%d was resolved in SELECT
#%d",

#define ER_BAD_SLAVE_UNTIL_COND 1277
"Wrong parameter or combination of parameters for START SLAVE UNTIL",

#define ER_MISSING_SKIP_SLAVE 1278
"It is recommended to use --skip-slave-start when doing step-by-step replication with START SLAVE UNTIL. Otherwise you will get problems if you get an unexpected slave's mysqld restart",

#define ER_UNTIL_COND_IGNORED 1279
"SQL thread is not to be started so UNTIL options are ignored",

#define ER_WRONG_NAME_FOR_INDEX 1280
"Incorrect index name '%-.100s'",

#define ER_WRONG_NAME_FOR_CATALOG 1281
"Incorrect catalog name '%-.100s'",

#define ER_WARN_QC_RESIZE 1282
"Query cache failed to set size %lu, new query cache size is %lu",

#define ER_BAD_FT_COLUMN 1283
"Column '%-.64s' cannot be part of FULLTEXT index",

#define ER_UNKNOWN_KEY_CACHE 1284
"Unknown key cache '%-.100s'",

#define ER_WARN_HOSTNAME_WONT_WORK 1285
"MySQL is started in --skip-name-resolve mode. You need to restart it without this switch for this grant to work",

#define ER_UNKNOWN_STORAGE_ENGINE 1286
"Unknown table engine '%s'",

#define ER_WARN_DEPRECATED_SYNTAX 1287
"'%s' is deprecated, use '%s' instead",

#define ER_NON_UPDATABLE_TABLE 1288
"The target table %-.100s of the %s is not updatable",

#define ER_FEATURE_DISABLED 1289
"The '%s' feature was disabled; you need MySQL built with '%s' to have it working",

#define ER_OPTION_PREVENTS_STATEME瘀牡?剕????o鸞?NT 1290
"The MySQL server is running with the %s option so it cannot execute this statement",

#define ER_DUPLICATED_VALUE_IN_TYPE 1291
"Column '%-.100s' has duplicated value '%-.64s' in %s"

#define ER_TRUNCATED_WRONG_VALUE 1292
"Truncated wrong %-.32s value: '%-.128s'"

#define ER_TOO_MUCH_AUTO_TIMESTAMP_COLS 1293
"Incorrect table definition; There can only be one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause"

#define ER_INVALID_ON_UPDATE 1294
"Invalid ON UPDATE clause for '%-.64s' field",

#define ER_UNSUPPORTED_PS 1295
"This command is not supported in the prepared statement protocol yet",