数年前,在济南的时候开始用MySQL,后来因为需要安装单独的应用,所以就放弃了,回到了伟大的Access的怀抱。

这次是因为Sqlite,FireBird,Access这些小家伙们对大数据量下的查询不能支持,所以只好捡起来用用,新版本已经发布到了5,呵呵,世易时移啊。

废话少说,我的目标是做一个类似Sqlite一样的“嵌入”数据库版本,之所以不用Embedded的MySQL是因为这个东西和C#兼容性不是很好。所以就考虑自己做个发行包在源代码中直接发布。对于100M左右的个子,这个还是比较恐怖的。所以必须精简。

精简版的目的是:

  • 宿主程序在发布的时候包含精简版本的MySQL。
  • 在宿主程序运行的时候自动检查是否运行内置的MySQL,如果没有则启动它。
  • 宿主程序负责MySQL的配置信息配置。
  • 宿主程序进程和MySQL进程独立,互不影响。
  • 可选宿主程序退出的时候退出MySQL进程。
  • 可选使用服务模式运行和命令行模式运行MySQL进程,默认为使用服务模式运行MySQL.

代码正在开发中,这里只说怎么“消减”MySQL的发行包。

  • 删除所有的目录,只保留
    • data
      share
      bin
  • 删除BIN下面除以下三个文件之外的所有文件:
    • libmysql.dll
      mysqladmin.exe
      mysqld.exe
  • 如果要用客户端,请保留mysql.exe
  • 删除Share目录下除以下目录外的所有目录
    • charsets
      english
  • 删除Data目录下的除mysql之外的所有文件和目录

Jeason Zhao (沈胜衣,斛律光) ------雪饮再现,一个人的江湖
我知道我是谁,我是沈胜衣,默默的活着,就像空气。