当前位置:编程学习 > wap >>

如何打包一个mysql


现在用QT4和MySQL作了一个小软件,想把软件和数据库打包,在一个没安装MySQL和Qt的机器上运行。
首先要说明一下就是 这个功能是否可以实现,我不知道 


不知道这里有没有高手这样打过包??
能否 给个打包的步骤?谢谢! --------------------编程问答-------------------- --------------------编程问答-------------------- mysql应该是需要服务器端的,所以楼主的想法可能不行。换个数据库把,比如sqllite或者是伯克利什么的。 --------------------编程问答-------------------- 确实,想把MySQL达到程序里是不可能的。两种方法:
1、找一个固定的服务器,部署mysql服务。
2、数据库换成sqllite,可以直接以一个文件的形式打到程序里。

我想你既然想把数据库和程序打包,就是说数据库基本上是单机使用,不涉及到多人访问并发的问题,所以sqllite应该就能满足你的需要了。 --------------------编程问答-------------------- 他的意思就是建立好了后台服务器,再打包mysql客户端的库,但是会遇到找不到驱动的问题。 --------------------编程问答-------------------- MySQL完全可以和程序一起用打包工具 做成一个安装包,然后在没有安装过mysql的机器上直接运行,不用另外的安装MySQL数据库,方法如下:
我用的是mysql5.0.
1.首先是在开发机器上安装mysql数据库(因为我们要用到mysql的数据库程序)
2.然后进到mysql的安装目录 复制 bin data share my.ini 其他的什么地方(bin data share 是文件夹 my.ini是文件),注意要保持这些目录和文件的相对的路径关系(就是要保证他们在同一个目录中,保证mysql服务程序能找到他们)。
3.要自己写一个小程序 来设置一下my.ini文件的basedir和datadir 把他们的值设置正确.
4.然后用你的这小程序 带参数启动mysqld-nt.exe 参数如下
char charCmd[1024]; //这个可以设置的更大一些 适合长路径
std::string strmyPath = GetAplicationPath();
std::string strFile = strmyPath + "mysql/bin/mysqld-nt.exe"; 

std::string strMysqlIniFile = strmyPath + "mysql/my.ini";
sprintf(charCmd,"%s --install MySQLServer --defaults-file=%s",strFile .c_str(),strMysqlIniFile .c_str());
RunProcess(szCmd);
本经验适合mysql5.0 
有问题QQ:2356071719 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 估计是想问,怎么打包应用和数据库客户端模块for Qt.
我一般会把plugins/sqldrivers下边的mysql动态库打包进去。只要你的QSqlDatabase::drivers()
显示有QMYSQL那应该就没问题了。至于怎么编译安装mysql driver请参看Qt技术手册
补充:移动开发 ,  Qt
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,