LJMM平台( Linux +Jexus+MySQL+mono) 上使用MySQL的简单总结

近准备把PDF.NET框架的开源项目“超市管理系统”移植到Linux上跑(演示地址:http://221.123.142.196),使用Jexus服务器和MySQL数据库,相对使用SQLite而言,用MySQL问题比较多,但最后还是一一解决了,先总结如下:

1,MySQL驱动:

有人说在mono 下跑MySQL需要老点的MySQL驱动,我实验发现跟此无关,我用的驱动 MySQL.Data.dll 版本是 6.3.6,在mono 3.0.3 下跑是没有问题的。

2,MySQL服务的版本:

这个有点关系,我测试了2个MySQL服务版本,一个5.0.95,一个是 5.5.28 ,前者出错的时候,换到后者的数据库又发现没有问题了,看来版本高点好。

3,MySQL的编码问题:

为了使用中文,数据库所有语言设置都成UTF-8,或者在连接字符串设置编码(CharSet=utf8) :

---------
server=ip;User Id=uid;password=pwd;CharSet=utf8;DataBase=SuperMarket;Allow Zero Datetime=True
----------

4,MySQL日期字段类型:

其实这个问题跟网站的“语言文化设置”有关,在拼接SQL的时候,直接DateTime.ToString() 的时候会有不同的格式,而MySQL的语言文化设置跟网站不一样,即会出问题。
另外,有时日期字段只保存了日期部分,没有保存时间部分,或者时间日期字段为空,会导致查询错误,这是可以在连接字符串中增加“Allow Zero Datetime=True”设置。
最佳解决方案是使用Ado.net 的参数化查询。
PS:PDF.NET框架的OQL,数据控件都是参数化查询的。

5,Web.config文件有关语言文化的设置:

由于mono 3.0.x 目前还不是正式版本,所以它的ASP.NET中语言文化只支持 en-US,而通常情况下默认的是当前系统的语言文化设置,比如zn-CH,但框架又不支持,于是MySQL无法获知当前要使用的设置,报错。
具体设置方法是在

<system.web> <globalization culture="en-US" uiCulture="en-US"/>... ...</system.web>

或者另外一个方案,就是使用mono 2.10.8

6,MySQL数据管理:

可以使用Apache的PhpAdmin来管理MySQL,但还得装apache 的PHP运行时,这里推荐一款CS方式的数据库管理软件,PDF.NET集成开发工具,很方便管理MySQL的,可以执行建库等操作。

(该工具下载地址:http://ft.codeplex.com/releases/view/65308 )

时间: 2024-11-03 04:18:40

LJMM平台( Linux +Jexus+MySQL+mono) 上使用MySQL的简单总结的相关文章

在Linux(RHEL4)上安装MySQL

       在安装RHEL4时可能会自动安装MySQL服务器,不过这时安装的MySQL版本一般比较低,所以需要重新安装.在安装RHEL4可以选择不安装MySQL服务器,如果已经安装可以将其卸载.    下面是安装MySQL5.0.41的步骤:    1.下载针对RHEL4的MySQL5.0版本,最新的是5.0.41,需要下载的有服务器端和客户端的安装程序:    MySQL-server-community-5.0.41-0.rhel4.i386.rpm    MySQL-client-com

《PHP、MySQL和Apache入门经典(第5版)》一2.3 在Linux/UNIX上安装MySQL

2.3 在Linux/UNIX上安装MySQL PHP.MySQL和Apache入门经典(第5版) 不管你是使用RPM还是二进制代码安装,在Linux/UNIX上安装MySQL都比较简单.如果你通过RPM安装,MySQL AB提供了专门平台的RPM,例如针对运行在不同类型的处理器(如32位或64位的x86)上的SuSE Linux或一般的Linux. 对于RPM的一个最小的安装,你需要如下来自下载页面http://dev.mysql.com/downloads/mysql/5.5.html的两个

《PHP、MySQL和Apache入门经典(第5版)》一一2.3 在Linux/UNIX上安装MySQL

2.3 在Linux/UNIX上安装MySQL PHP.MySQL和Apache入门经典(第5版) 不管你是使用RPM还是二进制代码安装,在Linux/UNIX上安装MySQL都比较简单.如果你通过RPM安装,MySQL AB提供了专门平台的RPM,例如针对运行在不同类型的处理器(如32位或64位的x86)上的SuSE Linux或一般的Linux. 对于RPM的一个最小的安装,你需要如下来自下载页面http://dev.mysql.com/downloads/mysql/5.5.html的两个

Linux操作系统上安装MYSQL数据库的方法

1.下载MySQL的安装文件 安装MySQL需要下面两个文件: MySQL-server-5.0.26-0.i386.rpm MySQL-client-5.0.26-0.i386.rpm 下载地址为:http://dev.mysql.com/downloads/mysql/5.0.html,打开此网页,下拉网页找到"Red Hat Enterprise Linux 3 RPM (x86) downloads"项,找到"Server"和"Client pro

在Linux上优化Mysql运行环境让你对Mysql更多了解

  接触过Mysql的都是知道它是数据库,很多用户知道如何使用Mysql数据库,但对Mysql运行环境的优化却知之甚少,如果你想要掌握Mysql数据库,对Mysql运行环境的优化也要了解一些,下面小编就给大家介绍下Linux优化Mysql运行环境的方法. 一.修改Linux默认的IO调度算法. linux默认的IO调度算法为cfq,需要修改为dealine,如果是SSD或者PCIe-SSD设备,需要修改为noop,可以使用下面两种修改方式. 1.在线动态修改,重启失效. echo "deadli

如何使用图形化工具远程管理 Linux 上的 MySQL

如果你在一个远程的VPS上运行了MySQL服务器,你会如何管理你的远程数据库主机呢?基于web的数据库管理工具例如phpMyAdmin或者Adminer可能会是你第一个想起的.这些基于web的管理工具需要一个正常运行的后端的web服务和PHP引擎.但是,如果你的VPS仅仅用来做数据库服务(例如,数据库与其它服务独立存放的分布式结构),为偶尔的数据库管理提供一整套的LAMP是浪费VPS资源的.更糟的是,LAMP所打开的HTTP端口可能会成为你VPS资源的安全漏洞. 作为一种选择,你可以使用在一台客

Linux上搭建mysql集群,window进行远程

问题描述 Linux上搭建mysql集群,window进行远程 我想在window上远程Linux的mysql,Linux上的mysql是分布式mysql集群. 希望有经验的大牛能个指引.Linux上的mysql集群如何搭建?搭建完成后,window怎么远程? 解决方案 window下的mysql集群搭建Linux下MySQL/MariaDB Galera集群搭建过程

数据库-linux上修改MySQL的编码后,MySQL不能启动了

问题描述 linux上修改MySQL的编码后,MySQL不能启动了 修改了my.cnf,在其中 找到客户端配置[client] 在下面添加 default-character-set=utf8 默认字符集为utf8 在找到[mysqld] 添加 default-character-set=utf8 默认字符集为utf8 init_connect='SET NAMES utf8' (设定连接mysql数据库时使用utf8编码,以让mysql数据库为utf8运行) 然后重启MySQL就起不来了 报如

Linux 上从 MySQL 迁移到 MariaDB 的简单步骤

Linux 上从 MySQL 迁移到 MariaDB 的简单步骤 大家好!这是一篇介绍如何在服务器或个人电脑上从MySQL迁移到MariaDB的教程.也许你会问为什么我们要将数据库管理从MySQL迁移到MariaDB.往下看我们告诉你为什么这样做. 为什么要用MariaDB来代替MySQL MariaDB是MySQL社区开发的分支,也是一个增强型的替代品.它由MySQL前开发者们带头组织的基金会开发,使用起来和MySQL完全一样.自从Oracle买下了MySQL,它就不再自由开源了,但是 Mar