系统是centos5.0
硬件配置我也说一下,是服务器的配置
CPU:至强3040双核
内存是ECC2G
硬盘是SATA250(就是因为这个sata的,导致我不能装redhat9.0,然后换了centos,出现了一系列的错误)
装系统的时候随系统安装的是mysql5.0
装好后,我要运行一个游戏服务端程序。
结果程序运行一半发生了段错误
1.jpg (18.68 KB, 下载次数: 6)
下载附件
2008-08-11 22:08 上传
图中的乱码就是“段错误”,我本来以为是内存不够……不过显然不是这个问题……虚拟机装redhat9.0的时候,才分400M的内存都没有问题。
错误就是出在这里
2.jpg (3.13 KB, 下载次数: 11)
下载附件
2008-08-11 22:08 上传
因为我是个新手,我根本就不知道发生这样的错误到底该怎么解决它。
首先可以排除这个游戏服务端的设置和程序本身的问题,因为同样的服务端,我在虚拟机上(redhat9.0)运行完全没有问题。但是一旦纯linux中运行,就出现段错误,非常的莫名其妙。希望有经验的高手能够帮我指点一下方向。
我用GDB运行了服务端,看了一下,知道错误是发生在服务端程序通过libmysqlclient_r_so.10向mysql发送sql语句的时候。
而这里要交代一下,因为mysql5.0装了之后,我没有发现libmysqlclient_r_so.10,只发现了libmysqlclient_r_so.15.0.0,我自以为这些库文件应该都是向下兼容的,所以就用ln命令,将libmysqlclient_r_so.15.0.0软链接成libmysqlclient_r_so.10到/usr/lib当中。
结果竟然发生这样的错误
我想请教大家一下,如果我去下载了libmysqlclient_r_so.10放到/usr/lib下,是否可以呢?如何查询这个服务端程序运行的时候,通过这个库文件到底对数据库做了什么?
我之所以没有这么做,是因为我没地方下载到libmysqlclient_r_so.10,郁闷~~~
然后我就想,卸载了mysql5.0,安装mysql4.1
我是这样卸载mysql5.0的
先用rpm -qa | grep mysql
查询出mysql相关的安装
然后用rpm -e一个一个全部卸载掉了。
卸载的过程貌似没有出现意外~~
然后我就去www.mysql.com下载mysql4.1
这里我不知道我下载的有没有错误
我下载的是Red Hat Enterprise Linux 4 RPM (x86) 这个版本的,请问按照我的系统和配置,下载这个版本的对吗?http://dev.mysql.com/downloads/m ... hel4-x86-32bit-rpms地址是这个
我同时下载了mysqlclient
结果我用rpm -ivh安装下载下来的mysql4.1时,发现最后说启动mysql服务错误。
我去系统服务看了一下
看见一个服务mysql没有看到mysqld……
奇怪啊,本来不是应该有mysqld的吗?而且原本应该是没有mysql的吧?
mysql的服务写着“use /etc/init.d/mysql start”(现在没开服务器,大致是这样应该没写错)
然后我右键启动它,反应非常的慢,大概等了快一分钟了才启动成功!
我打开终端,输入mysql
提示错误[mysql]ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'
我去/var/lib/mysql发现是有mysql.sock的,不过大小是0
这个是怎么回事呢?
我是一个新手。实在是被这个问题折腾迷糊了。
是我mysql没有卸载干净?还是卸载过头了?是我rpm安装包下载错了?还是我安装步骤错了?
希望各位高手帮忙解答一二
如果有高手能教我如何调试服务端程序运行时候产生的段错误,能够指导我如何去修改修复这个错误,在下更是感激不尽!!!!因为我之所以卸载mysql5.0装mysql4.0就是为了解决这个问题。
[ 本帖最后由 易凡 于 2008-8-11 22:11 编辑 ]