数年前,在济南的时候开始用MySQL,后来因为需要安装单独的应用,所以就放弃了,回到了伟大的Access的怀抱。
这次是因为Sqlite,FireBird,Access这些小家伙们对大数据量下的查询不能支持,所以只好捡起来用用,新版本已经发布到了5,呵呵,世易时移啊。
废话少说,我的目标是做一个类似Sqlite一样的“嵌入”数据库版本,之所以不用Embedded的MySQL是因为这个东西和C#兼容性不是很好。所以就考虑自己做个发行包在源代码中直接发布。对于100M左右的个子,这个还是比较恐怖的。所以必须精简。
精简版的目的是:
- 宿主程序在发布的时候包含精简版本的MySQL。
- 在宿主程序运行的时候自动检查是否运行内置的MySQL,如果没有则启动它。
- 宿主程序负责MySQL的配置信息配置。
- 宿主程序进程和MySQL进程独立,互不影响。
- 可选宿主程序退出的时候退出MySQL进程。
- 可选使用服务模式运行和命令行模式运行MySQL进程,默认为使用服务模式运行MySQL.
代码正在开发中,这里只说怎么“消减”MySQL的发行包。
- 删除所有的目录,只保留
- 删除BIN下面除以下三个文件之外的所有文件:
- libmysql.dll
mysqladmin.exe
mysqld.exe
- 如果要用客户端,请保留mysql.exe
- 删除Share目录下除以下目录外的所有目录
- 删除Data目录下的除mysql之外的所有文件和目录