qtcpserver 能?不能切换武器
一、如何解决python socket server重启后端口被占用的问题
本文介绍下,在solaris系统下,python socket server重启后,提示端口被占用,telnet端口失败。这里给出一个解决方法,有需要的朋友参考下。
在solaris系统下,socket server被重启后,提示端口被占用,telnet端口又是不成功的,说明服务已被关闭。
通过netstat可以看到端口还处于于fin_wait_2状态,solaris要4分钟才能关闭。
遇到这个问题时,可以采用如下的方法解决,以减少等待时间。
1,加上s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)。
代码:
**代码代码示例:
self.host=socket.gethostbyname(socket.gethostname())
s= socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.**nd((self.host,self.port))
s.listen(5)
2,修改系统fin_wait,time_wait的时间设置。这个时间改短,也利于系统系能。
修改方法
查看或设置:
使用get命令来确定当前时间间隔,并使用set命令将时间间隔指定为30秒。
例如:
**代码代码示例:
ndd-get/dev/tcp tcp_time_wait_interval
ndd-set/dev/tcp tcp_time_wait_interval 30000
缺省值:对于 Solaris*作系统,缺省等待时间间隔为 240000毫秒(即 4分钟)。
建议值:60000毫秒。
Solaris TCP_FIN_WAIT_2_FLUSH_INTERVAL
描述:
指定禁止处于FIN_WAIT_2状态的连接保持该状态的计时器时间间隔。
当连接比率较高时,这将累积大量的TCP/IP连接,从而导致服务器性能下降。在高峰时间段,服务器会发生延迟。
如果服务器延迟,netstat命令显示对HTTP Server打开的许多套接字处于CLOSE_WAIT或FIN_WAIT_2状态。
明显的延迟可能会长达4分钟,其间服务器无法发送任何响应,但是CPU利用率保持很高,所有活动都在系统进程中。
查看和设置:
使用get命令来确定当前时间间隔,并使用set命令将时间间隔指定为67.5秒。
例如:
**代码代码示例:
ndd-get/dev/tcp tcp_fin_wait_2_flush_interval
ndd-set/dev/tcp tcp_fin_wait_2_flush_interval 67500
缺省值:675000毫秒
建议值:67500毫秒
Solaris TCP_KEEPALIVE_INTERVAL
描述:
“保持活动”包确保连接保持活动和已建立状态。
查看或设置:
使用ndd命令来确定当前值或设置该值。
例如:
**代码代码示例:
ndd-set/dev/tcp tcp_keepalive_interval 300000
缺省值:7200000毫秒
建议值:15000毫秒
二、cs***有时候***q***不能切换武器
前进W
后退S
左边A
右边D
跳空格
蹲 Ctrl
数字1主要*
数字2手*
数字3刀子
数字4手雷
数字5雷包
买沙漠之鹰 B13
买MP5 B31
买M16 B43
买AK47 B41
买AWP狙击 B46
买手雷 B84
买防弹衣(Q)B82
1、踢人问题。常有人有人作弊,看不顺眼,怎么踢他出去?还有那些*刷新的家伙,怎样揪出他,踢他出去?
首先回答踢人问题:
踢人分两种:
一是简单的踢他,不过他还可以再进来,这种简单,作方法:
控制台,输入users显示出每个玩家的ID编号,
输入kick#XX(编号)(编号前面加#哦),OK,解决。
为什么要踢他的编号呢,因为有的人在名字里用了特殊符号或者太长记不住,所以踢编号是好的方法。
二是踢他出去并封他的IP,让他就算换了名字也进不来。作方法:
控制台,先查ID编号,再输入banid YY#XX kick,就可以了,不过在实际中这样做自己主机就会退出游戏。
经过研究,发现,在局域网游戏中是不可以这样banid的,为什么呢?经查,所有局域网的玩家的uniqueid都是一样的,(虽然个人的ID编号不一样,)banid命令是以uniqueid为识别的,所以banid别人就把自己顺便给banid出去啦。
好,踢人问题解决了,可是有人捣*刷新,怎么查出这个人呢?
解决方法:在他刷新或*改了设置之后,马上调出控制台,好,你会看到这样的话:rcon from 192.168.29.34……(之后写的是他用的远程控制密码和远程控制命令),看到IP了吗?
输入status,可以查看各个玩家的ID和对应的IP,看出是谁了吧?警告他!不要捣*!不爽的话用users加kick对付他也不过分哦。
!不过在此忠告大家,*人不过头点地,封IP太*了吧,踢一下也就行了,让他再进来不捣*就行。
2、CDKEY问题。
呵呵,常有人在论坛上要正版CDKEY。
不必想了,我们还是用我们的盗版CDKEY吧,在互动上进局域网游戏是一样用的,
在此给出几个:
5590-73806-8806
3293-04914-4860
5796-93604-1881
3398-64213-6822
5690-93404-2881
2390-22063-1841
3392-34213-8809
2092-22666-6828
2298-52248-1888
3、重复打字、说话问题。
常有人问为什么有的人一句话可以连续发好几遍,而自己只能一遍一遍打呢?
解决办法:
在控制台下,用say XXXXXXXXXXXXX说话就可以了,相当于Y键,说完后,按向上的方向键就可以重复上次输入的命令,这样不就OK了?
还有用say_team XXXXXXXXX命令就相当于U键,只对队友说话。而Y是所有人都能看到的。
4、CS路径设置问题。
新手刚进互动时,常不会设置路径,其实很简单,看看你的CS游戏装在什么地方,找到他就行了,找到桌面的那个快捷方式也行。一般是“C:|Program Files|CS1.5中文硬盘版|CS1.5中文硬盘版|cstrike.exe”。
5、POD机器人问题。
有人问起关于POD机器人怎么用的问题。在此简单作答:
=可以调出菜单,英文好完全可以自己看明白了。
不明白的话,以下是常用的:
=1表示随机加一个电脑,=51表示全部加匪,=52表示全部加警,
=6表示去掉一个电脑,=7表示把电脑全部去掉,
=3表示把电脑全部*死,=4就是连玩家连自己一起死啦!
=81表示让电脑只带刀,不许拿*。
点击这里打开POD机器人详细使用说明
6、反作弊器问题。平台作弊问题。
在此再次申明:痛恨作弊!不过哪里都有败类,CS也不例外。各大厅似乎都有某些作弊者。
关于平台,本身是具有一定的反作弊功能的,(不过可以破解掉,至于如何破解,别问我。)
互动平台目前还不强制支持Cheating-Death反作弊器,所以基本上在互动是不开CD的。
呼吁:作弊者人人得而诛之!!! 9、黑屏,视角问题。有人问怎样才能让死了后屏幕变黑,或只看到自己人。
解决方法:
输入命令mp_fadetoblack 1/0(1是屏幕变黑,啥也看不到,0是可以看到)
输入命令mp_forcechasecam 0/1/2(0是自由模式、1只能跟着自己队友走动、2*体视线留在原地)
7、CS窗口化问题
假如你需要用窗口模式来玩CS,请在CS参数里加上-windows即可。
如果又不需要窗口模式了,去掉参数-windows,并在视频设置(video configure)里,
把“运行在窗口”(run in a windows)前面的*去掉就可以回复全屏了。
8、不进服务器,怎样看各服务器的ping值大小
一般在服务器列表里,都是用点来表示网速的快慢,可是不能准确的表示ping的值。
解决办法:
1、选择服务器,点一下“信息”一栏,可以看到ping值,但是你进服务器的时候,实际的ping值应该比看到的要高一点点。
2、在启动的参数里加入-numericping,(就象加-console一样加,参照文章前面)进去会发现本来Ping是用点显示,现在加了数字,数字越小ping越低,速度越快。
9、CS屏幕大小不对,准心不准问题
碰到CS屏幕大小不准,准心偏低不准,等等。
是因为按了-号使屏幕变小了,按=号可以变大,不过如果装了POD,按=号就不能变大了,=成了POD的菜单呼出键。
可以退一下,恢复默认值就可以按=号调大了,不过这时POD就不能再呼出了,就是不能再调POD了。
所以有另一个方法,就是使用命令调屏幕大小,不需要退。命令是:
sizedown缩小屏幕
sizeup放大屏幕
10、局域网无法连接,快捷方式问题。
这个问题很蹊跷,以前很多高手都栽了。呵呵。就是局域网的两台机子可以在互动平台上联网,在局域网里建时,也能看到主机,就是进不去!提示信息应该为:You cannot connect to a server running a custom game cstrike until you……
呵呵,你只是范了一个很小很小的错误。-----快捷方式的问题,你是从桌面的快捷方式进入游戏的,
点快捷方式的属性,会发现“起始位置”是空的,把它填上CS的目录,OK,问题解决了。就这么简单。
其中原因,呵呵,高手自会明白。
11、CS被锁问题。
这个问题好象我来以前没人回答过。
就是每次点击cs的图标以后,开场画面都能正常出现,但是当我点击“进入游戏”时,总会跳出下面一串英文:Content control configuration-On.
这个问题是因为打开了连接控制,也就是给CS加上了密码,
没这个密码是不能用CS的。假如你知道密码,在“游戏设置”的“连接控制”里把“使用连接控制”的*去掉,不过需要密码。
假如你不知道密码。破解它。
运行regedit,打开HKEY_CURRENT_USER/Software/Valve/CounterStrike/Settings
里面有个“User Token 2”
删掉它,就OK了。
12、大跳问题。有人问怎样才能跳在houdao划腿呢?也就是所谓的跳蹲。
1、方法一,按键设置:
把跳跃键的第二设定改为V键或B键。(CS里,每样都可以同时设2个键的,直接在控制设置里改就行了。)
CS里打的时候,可以用大拇指,把V键和空格键一起按,就可以了。
这是正规按出来的跳蹲。
2、用一个简单的脚本也可以实现,这里有个脚本:
alias+sjump“+jump;+duck”
alias-sjump“-jump;-duck”
**nd SPACE+sjump
把它们一行一行从控制台输入也可以,不过一般都写到CFG文件里去,这样比较方便。
你可以把它加入到autoexec.cfg文件里去(在cstrike文件夹里,用记事本打开加进去就行啦),然后在CS中控制台下,执行一次
这个文件:exec autoexec.cfg就可以了,以后每次它都会自动运行的。
13、戴耳机左右声道与实际相反问题。
如果戴耳机左右声道与实际相反或者声音左右不清,
首先,在系统的音量设置里把混音之类的什么去掉。
再进CS,在游戏设置-->音频设置里,把 A3D硬件支持,EAX硬件支持,选上(或者去掉)。
如果已经进了CS,可以用以下命令更改:(可以加入config文件,下面的是我的config里面的,效果不错的哦)
s_a3d“0”
s_eax“0”
volume“1.0”
suitvolume“0.25”
hisound“1.0”
bgmvolume“1.0”
如果这样还不行,呵呵,把耳机反戴就行咯。
14、切换后无声音问题。
这是个老麻烦啊,CS中有时消息来了,切换一下看看消息,再回来后发现声音没了。怎么办?
以下罗列几种办法以供参考:
1、要切换出来之前,按esc退到CS菜单下再切换出来,这样就没事了。
2、据某战友提供,切换时,按着Shift键,这样切换出来回去后声音还在。
3、根据我的理解,运行于窗口模式是不是好点呢?
4、便宜的就是用win2000和XP的人啦,就算声音已经没有了,按ctrl+Alt+Del调出任务管理器,在
上面双击CS的程序,就可以进去啦,声音还在,就算本来没有了都还原了。
15、“IP adress error…”问题
假如出现“……game port.dat,ip adress error……”的错误提示,
东皮个人认为,应该是你安装了其他联网游戏平台,如浩方,XX互动,之类的游戏平台,
或者需要进行虚拟IP转换的软件、游戏。
解决办法:到www.game163重新**安装互动平台,(先把老的删了吧)。
这样应该就可以解决问题。如有其他原因,研究中。
16、若干控制台参数
-console-预设就有,有这个在game里才能调出控制台
-32bpp-用32**t色彩起动game,预设是16**t,用32**t可能使游戏变慢,但更好看
-numericping-用数字显示ping
-nojoy-不起动摇捍
-noipx-不用ipx,如果是intetnet游戏,不要起动此项
-heapsize XXXXX-x为指定数字,可指定cs占用多少内存,好用建议值
17、进CS服务器总要2次才能进去的问题
有时候会碰到这样的情况,每次进一个服务器总是没反应,需要按ESC退一下再进一次才能进去。
这种情况,一般是因为硬盘的DMA选项没有打开。
在系统属性里打开DMA(直接内存读取)选项再重启就可以了。
18、OPENGL不支持问题
这也很常见啊,一般有这样的提示:The selected OpenGL Mode is not supporLted by video card……
关于OPENGL不支持的问题,比较复杂,现列一些解决方法如下:
1、强行设置,有些显卡老提醒你说不支持OPENGL,别理他,继续设置,可以用的。
2、如果不行,**新的显卡驱动地址: 3、好安装DirectX 9,地址:
一般这样都能解决问题,还不行,请
4、手工安装GLsetup.exe或MSOpengl(地址: GLSetup新1.0.0.121完全版(2001年4月13日发布):(for win9x)
5、如果还不能解决问题,可能你的显卡不太支持,
请使用GLDirect V4.01,(降低硬件要求,模拟OPENGL)
地址::
另:忠告:打CS,显卡好是TNT 2以上的,也就是差不多99年底之后买的。
另:这里有OPENGL的新版本的升级,可以试试哦 在实际解决问题当中发现仍有部分人的不能解决,大多是GF2MX400,GF2MX440的显卡。
现提供以下解决办法,可以试一试:
在桌面击鼠标右键--属性--设置--高级,点-GF2MX选点左边框里的 openGL设置进行调整:
1,关掉“启用缓冲区扩展““允许双面扩展使用本机视频内存“
2,打开“禁用对cpu增强指令集的支持”
3,纹理的默认颜色深度:始终使用16bpp
4,缓冲翻转模式:使用位块传输
5,垂直同步:始终关闭
6,各向异性过滤:已禁用
7,大使用量:14
其中:1,2,4效果不是很明显,
3对于winXP用户很重要
5,6强烈推荐改掉。
19、出现PID错误问题
碰到过好几次这样的问题了。也没其他人解决过。按我的理解试试吧。
PID是process identification,进程标识符。
PID错误应该是平台运行时与其他进程产生冲突,
这种情况一般出现在网吧,而且网吧肯定安装了某种网络管理软件,这种软件与平台产生PID冲突。
重新安装一遍平台试试,应该就可以了!如果不行一般我也没什么好的解决方法,如果网吧不能为你解决。试试找一款进程管理软件,结束可疑的一切进程,呵呵,不过网吧的人看到可不得了哦,你关掉了他的网管软件那怎么行?
20、刷不到主机问题。
(这个问题涉及太多,比较复杂,整理中……)
一般解决方法,重新**新的互动客户端并安装即可。
点此**新客户端:
21、刷到主机进不去问题。
假如你刷的到主机,其他一切正常,只是主机名是暗的话,
那么,基本可以肯定你的CS版本与主机不一致!呵呵,能确定它是正宗的1.5版吗?好重下一个哦。
如果出现retry 4次连接不上服务器的情况,网络问题,请使用更快的网络连接方式或者更换连接更快的服务器。
其他情况,要看给出什么提示,具体的整理中……
22、麦克风讲话问题
麦克风讲话有什么故障的话,解决方法如下:
1、你的麦是好的吗,是否插在声卡的合适接口?
2、打开音频属性(双击屏幕右下方那个小喇叭),看是否有MIC或micphone之类的一项,并且要打开。
这样,你吹一吹麦,耳机会有声音。没有,请设置好为止。
3、CS游戏中,默认是K键讲话,按K键,看屏幕是否有小喇叭出现,
有,正常,没有,添加 **nd“k”“voicerecord”到config.cfg文件里去。
4、打开你的config,修改
sv_voiceenable“1”
voice_modenable“1”
voice_scale“1.000000”
voice_enable“1”
voice_forcemicrecord“1.000000”
5、如果你的声卡是ISA声卡,抱歉,ISA声卡是无法与CS的语音功能协同工作的。
如果你的声卡是主板自带声卡,如AC97等,也有可能无**确使用语音功能。不过部分可以采用DirectSound方式
解决。具体方法:启动游戏时增加一个参数“+voice_dsound 1”,在互动,要在大厅里的“设置”--“命令行参数”里加上+voice_dsound 1。
6、如果你的声音在游戏里听上去怪怪的,请运行游戏目录里的voice_tweak.exe调试。
23、鼠标只能控制前后走的问题
CS中鼠标只能控制前后走,不能上下抬头低头了。
解决办法:在“控制设置”的“高级选项”里把“鼠标控制视野”打上*,应该就行了。
24、如何才能快速换*问题,和左右手拿*的问题。
换*问题三个方法:
1、在游戏的控制设置里点上“快速换*”
2、在控制台输入hud_fastswitch“1”
3、cscn版本中按 H,3。
左右手问题同样,
1、在游戏控制设置里改。
2、输入lefthand 0/1
3、cscn版本中按 H,2。
25、录制播放游戏的问题
参考神☆夜灵发布的
26、游戏卡的问题。
1、机器配置不好。
2、系统硬件有冲突。
3、网速较慢。具体情况具体分析,详细分析待整理中……
27、屏幕比较暗的问题
有人抱怨屏幕太暗,暗处看不到人,常被人暗算,呵呵解决办法:
1、调显示器。
2、游戏视频设置里调。
前两种大家都知道,呵呵,下面是我教的。
3、在config.cfg文件中加上(或改为)
gamma“3.000000”和 brightness“3.000000”,这个数字好象大于3.000000也没什么变化了。
4、可能你的显卡驱动不一定支持,不过好是原版的驱动,新**的不定有。显卡中可以调“亮度调整”或是“伽马校正”,可以在这里调的很亮很亮。基本没限制,不过刺眼看上去不爽。此方法对各显卡各有不同,关键在于找到有伽马校正的驱动。
5、假如你的显示器有些老化的话,而你有些电子基础。打开显示器外壳,可以找到调节亮度的微调旋钮哦。(技术原因,此法不推荐)
6、曾经见过单独的亮度调节软件,寻找中……
33、ADSL用户不能联机的问题(转载)
1;XP用户.只要去掉本地连接的TCP/IP协议就可以了.!注意!:是本地连接.方法:开始->连接到->显示所有连接->双击本地连接->属性->常规->把TCP/IP的勾去掉,不是删哦。
2:WIN2000用户.Win2000使用者就使用Raspppoe连线程式,且网卡的TCP/IP不要打勾
3:WIN98用户:.WIN98使用者使用Raspppoe连线程式:需将网络设定内-----TCP/IP->“你的网卡名称”----移除.这样在游戏中显示的IP才是ISP给你的IP否则显示的IP是你网卡的IP。
28、关于贴图的问题。
1、如果不能喷图,在CS的设置里调整喷图的分辨率。
2、关于个性喷图的制作,限于篇幅不一一细说,参考gongyuanfu的帖子
29、怎样用已知的IP进入该服务器?
进入游戏后,点Play cs(进入游戏)---Internet Games(网上对战)------Add Server(加入服务器)---输入类似XXX.XXX.XXX.XXX:XXXXX的IP地址,点OK。
查到的服务器前会加*,查到的服务器不一定会排在第一位。双击找到的服务器就可以进入了。
下次刷新服务器列表时不会丢掉已经用 Add Server找到的服务器。
具体到www.cs-cn看
给新手看的CS训练要点
在进行CS前请首先对你的CS进行如下的一些基本设定修改,依据大量的经验来看这样的必要修改是十分必要的。如果你在网吧上网,那么很可能你的CS设置已经修改过了,就不必再做修改了。
找到CS安装目录里的config文件打开它,将hud_fastswitch""0""修改参数为1这样可以让你只需要按一下就可以自由切换武器而不是两下,对战的时候快这么0.1秒就是胜利。
同样请修改fps_max""72.0""的参数到更高,高可以到99,根据你的显卡来调整吧。
另外请**GEEKPLAY这个观看CS录象DEMO的专用软件,使用时只要双击DEMO文件就可以自动启动,再把它指定到你安装的CS目录里的EXE文件上S**E一下设置就可以用了,十分方便。
一、基本*作训练
你可以在其它文章里找大量的关于基本按键的详细说明介绍,所以我在这里就不再重复详细的按键说明了。
1、购买武器
切记熟悉必要的按键是十分重要的!何谓熟悉?你可以做这样的测试:将手放在键盘,闭上双眼,选择土匪就按B41(警察这里就是B43)、G、B31、B13、G、B42、B84、B81、B82、B83,完全按的无误而耗费的时间是越短越好。做这个训练你可以自己建局域网主机将初始资金设置为16000元进行训练。虽然现在有一键买*,但这项训练主要是训练你对这几个常用键位的感觉。不要战斗开始了还在那里双眼死盯键盘按B43,或者跑出去了才发现防弹衣都没有买。作为一个CSer这些都是绝对不允许的。
2、基本动作训练
按键方面常用的*作如Q键切换武器、Ctrl下蹲、Shift步行、space跳等都是需要熟悉的,你完全可以把它们放到熟悉地图的时候一并进行练习。
这个训练可以说是十分的单调,方法很简单,你的CS不加载任何机器人。然后选择常用的地图来进行练习,选择沙漠2(DUST2)、火车(TRAIN)、吊桥(AZTEC)这三幅经典地图进行练习就够了。
在训练的时候你要熟悉90度横向转身、360度巡视、斜闪、蛇形步、大跳、闪身跳等基本动作。注意:这里讲的度数和步数都是大致的并不需要太精准。
90度横向转身——基本的动作。前进中鼠标左转90度的同时按D,这样你人的前进方向没变的情况下横向左转了90度。向右90度横向转身同理。你也可以再转一下按S变成180度转身以打击身后的敌人。
360度巡视——前进中鼠标左转90度的同时按D,再左转鼠标按S、再左转90度按A、再左转90度按W,这样你就完成了一个360度巡视而保持前进方向没有任何改变。这一个*作非常重要,是你在前进中保持对四周的观察的一个好方法。向右360度巡视同理。
前斜闪——在高速前进的时候鼠标左转45度同时按W和D键向右前方斜闪第一步后,鼠标再左转45度同时D键向右横拉一步。紧接着可反复此步骤数次完成对一个圆中心的360度旋转。它的用处就是能让你在突然遇敌的时候以他为中心围绕着他转上一圈但准星却恒定指向他。这样的结果往往就是他的*准星一直跟着你的身后在飞,而你却把他打了个马蜂窝。同理你也可以做出漂亮的向右斜闪。这套动作一定要多加练习,练好后对方就只看见你在跑却怎么也打不着你,而你拿把手*都可以把对方打个半死。
后斜闪——原理和前斜闪一样,只是这次方向是向斜后方的。它主要是配合拉扫这个近战的重要射击动作的。近战相遇时退的同时按A或者D,下压*的准星,但准星不做任何横向移动,完全依靠身体的移动完成向左或者是向右的横向拉扫。
蛇形步——熟悉了斜闪后,你就可以在前进或者后退的时候连续使用左右斜闪的步法再配合左右横移来组合成一套很混*没有规律的步法。记住步法一定要*,这样对方摸不清你的规律后连续点射不中的话就会发慌。但切记你射击的时候一定要站稳了再打不要边跑边打。
大跳——前进中主*状态先按2切换成手*,或者按3切换成匕首但菜鸟好别这样干。在跳的同时按下蹲键形成大跳可以跳跃普通跳过不去的障碍物。例如在TRAIN里的几个车厢顶上来回的跳跃就需要使用大跳。还有在你跳越栏杆、上木箱、窗户的时候都需要这招,只是不用切换成手*或者匕首而已。
闪身跳——敌人常会埋伏在拐弯墙角处,这个时候你要在拐弯的一刹那跳起空中转身90度,*口对准拐弯墙角处射击。注意这招必须多加练习,*法一定要准,*口要对准对方的头部争取两*暴头。作为菜鸟这招只能在搜索残敌时使用,千万别拿这招去打冲锋,那样就算你干掉躲在墙角的那个也会被其它人干掉。
下蹲观察——牢记:CS里的斜坡是十分危险的地方!因为狡猾的敌人会先看见你的头或者脚,*法好的会在瞬间给你以致命性打击。上下斜坡的时候都一定要先将*口准星横线与地平线对齐,然后按SHIF缓慢移动出一点视野,反复按下蹲键晃动观察有无情况。下坡的时候同样要先下蹲观察,切记!切记!不要一来就直着身子上下坡。
不熟悉基本动作可以说是无法在实战中生存的。学习的另一个很好的办法就是观看高手的示范DEMO或者比赛DEMO,里面都有很精彩的示范,你可以慢慢领会。当然刻苦的练习是基础中的基础!
三、在安装linux中mysql-server时出现不能安装,该怎样解决
linux下安装mysql [日期:2006-07-04 ] [来自:本站原创 ]一、引言
想使用Linux已经很长时间了,由于没有硬性任务一直也没有系统学习,近日由于工作需要必须使用Linux下的MySQL。本以为有Windows下使用SQL Server的经验,觉得在Linux下安装MySql应该是易如反掌的事,可在真正安装和使用MySQL时走了很多弯路,遇见很多问题,毕竟Linux和Windows本身就有很大区别。为了让和我一样的初学者在学习的过程中少走弯路,尽快入门,写了此文,希望对您有所帮助。
二、安装Mysql
1、**MySQL的安装文件
安装MySQL需要下面两个文件:
MySQL-server-5.0.9-0.i386.rpm
MySQL-client-5.0.9-0.i386.rpm
**地址为:,打开此网页,下拉网页找到“Linux x86 RPM downloads”项,找到“Server”和“Client programs”项,**需要的上述两个rpm文件。
2、安装MySQL
rpm文件是Red Hat公司开发的软件安装包,rpm可让Linux在安装软件包时免除许多复杂的手续。该命令在安装时常用的参数是–ivh,其中i表示将安装指定的rmp软件包,V表示安装时的详细信息,h表示在安装期间出现“#”符号来显示目前的安装过程。这个符号将持续到安装完成后才停止。
1)安装服务器端
在有两个rmp文件的目录下运行如下命令:
[root@test1 local]# rpm-ivh MySQL-server-5.0.9-0.i386.rpm
显示如下信息。
warning: MySQL-server-5.0.9-0.i386.rpm: V3 DSA signature: NOKEY, key ID 5072e1f5
Preparing...########################################### [100%]
1:MySQL-server########################################### [100%]
。。。。。。(省略显示)
/usr/**n/mysqladmin-u root password'new-password'
/usr/**n/mysqladmin-u root-h test1 password'new-password'
。。。。。。(省略显示)
Starting mysqld daemon with databases from/var/lib/mysql
如出现如上信息,服务端安装完毕。测试是否成功可运行netstat看Mysql端口是否打开,如打开表示服务已经启动,安装成功。Mysql默认的端口是3306。
[root@test1 local]# netstat-nat
Active Internet connections(servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
上面显示可以看出MySQL服务已经启动。
2)安装客户端
运行如下命令:
[root@test1 local]# rpm-ivh MySQL-client-5.0.9-0.i386.rpm
warning: MySQL-client-5.0.9-0.i386.rpm: V3 DSA signature: NOKEY, key ID 5072e1f5
Preparing...########################################### [100%]
1:MySQL-client########################################### [100%]
显示安装完毕。
用下面的命令连接mysql,测试是否成功。
三、登录MySQL
登录MySQL的命令是mysql, mysql的使用语法如下:
mysql [-u username] [-h host] [-p[password]] [dbname]
username与 password分别是 MySQL的用户名与密码,mysql的初始管理帐号是root,没有密码,注意:这个root用户不是Linux的系统用户。MySQL默认用户是root,由于初始没有密码,第一次进时只需键入mysql即可。
[root@test1 local]# mysql
Welcome to the MySQL monitor. Commands end with; or\g.
Your MySQL connection id is 1 to server version: 4.0.16-standard
Type'help;' or'\h' for help. Type'\c' to clear the buffer.
mysql>
出现了“mysql>”提示符,恭喜你,安装成功!
增加了密码后的登录格式如下:
mysql-u root-p
Enter password:(输入密码)
其中-u后跟的是用户名,-p要求输入密码,回车后在输入密码处输入密码。
注意:这个mysql文件在/usr/**n目录下,与后面讲的启动文件/etc/init.d/mysql不是一个文件。
四、MySQL的几个重要目录
MySQL安装完成后不象SQL Server默认安装在一个目录,它的数据库文件、配置文件和命令文件分别在不同的目录,了解这些目录非常重要,尤其对于Linux的初学者,因为 Linux本身的目录结构就比较复杂,如果搞不清楚MySQL的安装目录那就无从谈起深入学习。
下面就介绍一下这几个目录。
1、数据库目录
/var/lib/mysql/
2、配置文件
/usr/share/mysql(mysql.server命令及配置文件)
3、相关命令
/usr/**n(mysqladmin mysqldump等命令)
4、启动脚本
/etc/rc.d/init.d/(启动脚本文件mysql的目录)
五、修改登录密码
MySQL默认没有密码,安装完毕增加密码的重要性是不言而喻的。
1、命令
usr/**n/mysqladmin-u root password'new-password'
格式:mysqladmin-u用户名-p旧密码 password新密码
2、例子
例1:给root加个密码123456。
键入以下命令:
[root@test1 local]#/usr/**n/mysqladmin-u root password 123456
注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。
3、测试是否修改成功
1)不用密码登录
[root@test1 local]# mysql
ERROR 1045: Access denied for user:'root@localhost'(Using password: NO)
显示错误,说明密码已经修改。
2)用修改后的密码登录
[root@test1 local]# mysql-u root-p
Enter password:(输入修改后的密码123456)
Welcome to the MySQL monitor. Commands end with; or\g.
Your MySQL connection id is 4 to server version: 4.0.16-standard
Type'help;' or'\h' for help. Type'\c' to clear the buffer.
mysql>
成功!
这是通过mysqladmin命令修改口令,也可通过修改库来更改口令。
六、启动与停止
1、启动
MySQL安装完成后启动文件mysql在/etc/init.d目录下,在需要启动时运行下面命令即可。
[root@test1 init.d]#/etc/init.d/mysql start
2、停止
/usr/**n/mysqladmin-u root-p shutdown
3、自动启动
1)察看mysql是否在自动启动列表中
[root@test1 local]#/s**n/chkconfig–list
2)把MySQL添加到你系统的启动服务组里面去
[root@test1 local]#/s**n/chkconfig– add mysql
3)把MySQL从启动服务组里面删除。
[root@test1 local]#/s**n/chkconfig– del mysql
七、更改MySQL目录
MySQL默认的数据文件存储目录为/var/lib/mysql。假如要把目录移到/home/data下需要进行下面几步:
1、home目录下建立data目录
cd/home
mkdir data
2、把MySQL服务进程停掉:
mysqladmin-u root-p shutdown
3、把/var/lib/mysql整个目录移到/home/data
mv/var/lib/mysql/home/data/
这样就把MySQL的数据文件移动到了/home/data/mysql下
4、找到myf配置文件
如果/etc/目录下没有myf配置文件,请到/usr/share/mysql/下找到*f文件,拷贝其中一个到/etc/并改名为myf)中。命令如下:
[root@test1 mysql]# cp/usr/share/mysql/my-mediumf/etc/myf
5、编辑MySQL的配置文件/etc/myf
为保证MySQL能够正常工作,需要指明mysql.sock文件的产生位置。修改socket=/var/lib/mysql/mysql.sock一行中等号右边的值为:/home/mysql/mysql.sock。*作如下:
vi myf(用vi工具编辑myf文件,找到下列数据修改之)
# The MySQL server
[mysqld]
port= 3306
#socket=/var/lib/mysql/mysql.sock(原内容,为了更稳妥用“#”注释此行)
socket=/home/data/mysql/mysql.sock(加上此行)
6、修改MySQL启动脚本/etc/rc.d/init.d/mysql
后,需要修改MySQL启动脚本/etc/rc.d/init.d/mysql,把其中datadir=/var/lib/mysql一行中,等号右边的路径改成你现在的实际存放路径:home/data/mysql。
[root@test1 etc]# vi/etc/rc.d/init.d/mysql
#datadir=/var/lib/mysql(注释此行)
datadir=/home/data/mysql(加上此行)
7、重新启动MySQL服务
/etc/rc.d/init.d/mysql start
或用reboot命令重启Linux
如果工作正常移动就成功了,否则对照前面的7步再检查一下。
八、MySQL的常用*作
注意:MySQL中每个命令后都要以分号;结尾。
1、显示数据库
mysql> show databases;
+----------+
| Database|
+----------+
| mysql|
| test|
+----------+
2 rows in set(0.04 sec)
Mysql刚安装完有两个数据库:mysql和test。mysql库非常重要,它里面有MySQL的系统信息,我们改密码和新增用户,实际上就是用这个库中的相关表进行*作。
2、显示数据库中的表
mysql> use mysql;(打开库,对每个库进行*作就要打开此库,类似于foxpro)
Database changed
mysql> show tables;
+-----------------+
| Tables_in_mysql|
+-----------------+
| columns_priv|
| db|
| func|
| host|
| tables_priv|
| user|
+-----------------+
6 rows in set(0.01 sec)
3、显示数据表的结构:
describe表名;
4、显示表中的记录:
select* from表名;
例如:显示mysql库中user表中的纪录。所有能对MySQL用户*作的用户都在此表中。
Select* from user;
5、建库:
create database库名;
例如:创建一个名字位aaa的库
mysql> create databases aaa;
6、建表:
use库名;
create table表名(字段设定列表);
例如:在刚创建的aaa库中建立表name,表中有id(序号,自动增长),xm(姓名),xb(性别),csny(出身年月)四个字段
use aaa;
mysql> create table name(id int(3) auto_increment not null primary key, xm char(8),xb char(2),csny date);
可以用describe命令察看刚建立的表结构。
mysql> describe name;
+-------+---------+------+-----+---------+----------------+
| Field| Type| Null| Key| Default| Extra|
+-------+---------+------+-----+---------+----------------+
| id| int(3)|| PRI| NULL| auto_increment|
| xm| char(8)| YES|| NULL||
| xb| char(2)| YES|| NULL||
| csny| date| YES|| NULL||
+-------+---------+------+-----+---------+----------------+
7、增加记录
例如:增加几条相关纪录。
mysql> insert into name values('','张三','男','1971-10-01');
mysql> insert into name values('','白云','女','1972-05-20');
可用select命令来验证结果。
mysql> select* from name;
+----+------+------+------------+
| id| xm| xb| csny|
+----+------+------+------------+
| 1|张三|男| 1971-10-01|
| 2|白云|女| 1972-05-20|
+----+------+------+------------+
8、修改纪录
例如:将张三的出生年月改为1971-01-10
mysql> update name set csny='1971-01-10' where xm='张三';
9、删除纪录
例如:删除张三的纪录。
mysql> delete from name where xm='张三';
10、删库和删表
drop database库名;
drop table表名;
九、增加MySQL用户
格式:grant select on数据库.* to用户名@登录主机 identified by"密码"
例1、增加一个用户user_1密码为123,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MySQL,然后键入以下命令:
mysql> grant select,insert,update,delete on*.* to user_1@"%" Identified by"123";
例1增加的用户是十分危险的,如果知道了user_1的密码,那么他就可以在网上的任何一台电脑上登录你的MySQL数据库并对你的数据为所欲为了,解决办法见例2。
例2、增加一个用户user_2密码为123,让此用户只可以在localhost上登录,并可以对数据库aaa进行查询、插入、修改、删除的*作(localhost指本地主机,即MySQL数据库所在的那台主机),这样用户即使用知道user_2的密码,他也无法从网上直接访问数据库,只能通过 MYSQL主机来*作aaa库。
mysql>grant select,insert,update,delete on aaa.* to user_2@localhost identified by"123";
用新增的用户如果登录不了MySQL,在登录时用如下命令:
mysql-u user_1-p-h 192.168.113.50(-h后跟的是要登录主机的ip地址)
十、备份与恢复
1、备份
例如:将上例创建的aaa库备份到文件back_aaa中
[root@test1 root]# cd/home/data/mysql(进入到库目录,本例库已由val/lib/mysql转到/home/data/mysql,见上述第七部分内容)
[root@test1 mysql]# mysqldump-u root-p--opt aaa> back_aaa
2、恢复