pvpgn 1.8.0-1 重编译版本(bugfixed:系统启动时连接mysql可能会失败的bug)[更新1.8.1]
2007-08-08 03:05
579 查看
官方好久都没有更新了,自己小小的修改了下...呵呵
编译环境:
AMD A64 3000+
Windows Server 2003
Visual studio.NET 2003
libymysql 5.0.45
要的留下邮箱嘛,我发给你们,这里不好上传文件得
///////////////////////////////////////////////////////////////////////////////////////////
(以下是示例代码,可根据需要自己修改)
(/bnetd/sql_mysql.c)
原代码:
if (mysql_real_connect(mysql, host, user, pass, name, port ? atoi(port) : 0, socket, CLIENT_FOUND_ROWS) == NULL) ...{
eventlog(eventlog_level_error, __FUNCTION__, "error connecting to database (db said: '%s')", mysql_error(mysql));
mysql_close(mysql);
return -1;
}
替换为:
if (mysql_real_connect(mysql, host, user, pass, name, port ? atoi(port) : 0, socket, CLIENT_FOUND_ROWS) == NULL) ...{ #define storage_faild_count_max 12 //定义重试次数
int storage_faild_count;
eventlog(eventlog_level_error, __FUNCTION__, "error connecting to database (db said: '%s')", mysql_error(mysql));
Sleep(5000);//重试间隔时间ms
for (storage_faild_count=0;storage_faild_count<=storage_faild_count_max;storage_faild_count++)...{
eventlog(eventlog_level_error, __FUNCTION__, "reconnecting to database ...", mysql_error(mysql));
Sleep(5000);//重试间隔时间ms
if (mysql_real_connect(mysql, host, user, pass, name, port ? atoi(port) : 0, socket, CLIENT_FOUND_ROWS) != NULL)...{
eventlog(eventlog_level_error, __FUNCTION__, "succ connected to database", mysql_error(mysql));
break;
}
if (storage_faild_count>=storage_faild_count_max)...{
eventlog(eventlog_level_error, __FUNCTION__, "faild connecting to database (db said: '%s')", mysql_error(mysql));
return -1;
}
}
}
编译环境:
AMD A64 3000+
Windows Server 2003
Visual studio.NET 2003
libymysql 5.0.45
要的留下邮箱嘛,我发给你们,这里不好上传文件得
///////////////////////////////////////////////////////////////////////////////////////////
(以下是示例代码,可根据需要自己修改)
(/bnetd/sql_mysql.c)
原代码:
if (mysql_real_connect(mysql, host, user, pass, name, port ? atoi(port) : 0, socket, CLIENT_FOUND_ROWS) == NULL) ...{
eventlog(eventlog_level_error, __FUNCTION__, "error connecting to database (db said: '%s')", mysql_error(mysql));
mysql_close(mysql);
return -1;
}
替换为:
if (mysql_real_connect(mysql, host, user, pass, name, port ? atoi(port) : 0, socket, CLIENT_FOUND_ROWS) == NULL) ...{ #define storage_faild_count_max 12 //定义重试次数
int storage_faild_count;
eventlog(eventlog_level_error, __FUNCTION__, "error connecting to database (db said: '%s')", mysql_error(mysql));
Sleep(5000);//重试间隔时间ms
for (storage_faild_count=0;storage_faild_count<=storage_faild_count_max;storage_faild_count++)...{
eventlog(eventlog_level_error, __FUNCTION__, "reconnecting to database ...", mysql_error(mysql));
Sleep(5000);//重试间隔时间ms
if (mysql_real_connect(mysql, host, user, pass, name, port ? atoi(port) : 0, socket, CLIENT_FOUND_ROWS) != NULL)...{
eventlog(eventlog_level_error, __FUNCTION__, "succ connected to database", mysql_error(mysql));
break;
}
if (storage_faild_count>=storage_faild_count_max)...{
eventlog(eventlog_level_error, __FUNCTION__, "faild connecting to database (db said: '%s')", mysql_error(mysql));
return -1;
}
}
}
相关文章推荐
- 【BUG & PROBLEM】mysql远程连接失败
- Maven编译失败:sun.misc.BASE64Decoder是sun的专用API,可能会在未来的版本中删除
- Mysql安装后连接失败和服务无法启动,首次进入密码的问题
- mysql dba系统学习(1)mysql各版本编译安装
- MySQL更新版本移动data不能启动问题
- Linux 系统更新命令行模式,出错原因,软件更新器更新失败,系统提示已为最新版本,问题如何解决
- SQLServer:解决启动SQLServer出现错误在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命
- Mysql远程连接失败原因(数据库在linux;持续更新中。。。)
- cmd 启动mysql失败 net start/stop mysql 发生系统错误5.拒绝访问
- 【bug日常】dos中执行net start mysql来启动mysql数据库时出现“系统错误5”
- Mysql安装后连接失败和服务无法启动的问题
- MySQl 安装失败 Starting Server启动失败,发生系统错误 1067, 进程意外终止. 解决方法
- mysql启动失败无法连接本地数据库和/tmp/mysql.sock文件不存在解决
- mysql dba系统学习(1)mysql各版本编译安装
- 编译Qt5.0连接MySql5.5数据库的驱动(5.0版本的编译,我记得5.2开始自带了)
- java连接MySQL版本的电话本管理系统
- MySQL之前一直正常使用,更新了一下系统之后出现“MySQL 服务无法启动,发生系统错误 1067 ”
- 安装解压版本的MySQL,安装过程中的常见命令,检查windows系统错误日志的方式来检查MySQL启动错误,关于Fatal error: Can't open and lock privilege
- PHPnow更新PHP版本后连接数据库错误(mysql_connect报错)
- centos6.6下编译安装mysql5.6之后启动失败:Starting MySQL... ERROR! The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid).