MUDOS MYSQL数据库的使用

519阅读 0评论2010-07-02 toughie
分类:LINUX

MYSQL数据库的使用[编译篇]

在mudos 的v22.?b中,对mysql的数据库有了很好的支持。
经过一段时间的摸索,介绍一下使用的心得。

1.在driver的编译中 加入mysql数据库支持
    解开tar.gz包,例如:$tar zxvf v22.2b30.tar.gz
    进入解开后的目录     $cd v22.2b30(一下操作均以此为操作目录)
    然后编辑options.h,找到PACKAGE_DB那一行,将
                #undef PACKAGE_DB
    改为
                #define PACKAGE_DB
    然后把紧接下来的#ifdef PACKAGE_DB和#endif之间的#define USE_MSQL
改成
                #define USE_MYSQL

使这一段看起来想这个样子,
/* PACKAGE_DB: efuns for external database access using msql */
#define PACKAGE_DB

/* If PACKAGE_DB is defined above, you must pick ONE of the following      supported
  * databases
*/
#ifdef PACKAGE_DB
#define USE_MYSQL      
#endif

如果是第一次编译,还应该修改其他地方,例如no_wizard和 package_uid等

注意:根据个子系统的不同,需要修改package/db.h里面的mysql.h的路径,例如将:
_____________________end___________________________
#ifdef USE_MYSQL
#ifdef INCL_LOCAL_MYSQL_H
#include "/usr/local/include/mysql.h"
#endif
#ifdef INCL_LOCAL_INCLUDE_MYSQL_MYSQL_H
#include "/usr/local/include/mysql/mysql.h"
#endif
#ifdef INCL_LOCAL_MYSQL_MYSQL_H
#include "/usr/local/mysql/include/mysql.h"
#endif
#ifdef INCL_MYSQL_MYSQL_H
#include "/usr/include/mysql/mysql.h"
#endif
#endif
_________________end__________________________________
直 接该成#include [mysql.h所在完整目录+文件名],并将mysql lib目录下的libmysqlclient.* 拷贝到/usr/lib/目录下。
然后在system_libs最后加上-lmysqlclient,使cat system_libs看起来像这样:
-lresolv -lbsd -lcrypt -ldl -lnsl -lm -lmysqlclient
然后就可以编译拉
make
如果正常的话,就可以找到编译好的driver,然后就可以用它来启动支持 数据库的mudlib了

不过在启动之前,还要记得在mudlib的MASTER_OB(例如:~MUDLIB/adm/obj /master.c)里加上一个valid_database
mixed valid_database(object ob, string action, mixed *info)
{
            if(!objectp(ob) || (geteuid(ob) != ROOT_UID))
                return 0;
                return ;
}

**********以上的valid_database仅供参 考******************


现在,可以正式启动mud拉。

enjoy it!!!
上一篇:《config文件篇》
下一篇:Efun基本分类