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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用版 2核4GB 50GB
简介:

近准备把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的语言文化设置跟网站不一样,即会出问题。

另外,有时日期字段只保存了日期部分,没有保存时间部分,或者时间日期字段为空,会导致查询错误,

比如网站语言文化设置是 en-US,那么日期变量在SQL拼接的时候是这个样子的: '2013-3-2 10:10:1 AM' ,插入数据的时候不会报错,但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无法获知当前要使用的设置,报错。
具体设置方法是设置 uiCulture=“en-US”,在

< system.web >
  < globalization  culture="zh-CN" 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 )

------------------------------------------------------------------

PS:为了移植到MySQL,感谢Jexus服务器作者“宇内流云”和网友“斌”的大力支持,在他们的帮助下我才成功!



    本文转自深蓝医生博客园博客,原文链接:http://www.cnblogs.com/bluedoctor/archive/2013/03/02/2939604.html,如需转载请自行联系原作者



相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
7天前
|
Oracle 关系型数据库 MySQL
linux安装及卸载mysql
在Linux上安装MySQL客户端涉及添加RPM源,运行`yum install mysql-community-client.x86_64 -y`。忘记密码时,编辑`/etc/my.cnf`,添加`skip-grant-tables`,重启MySQL,然后登录修改密码。卸载MySQL需停服,用`rpm -ev`逐个卸载相关组件,删除文件夹,并验证是否卸载干净。重新安装客户端可使用`rpm -ivh`命令。
55 8
|
9天前
|
弹性计算 运维 自然语言处理
属于Basis运维的、在Linux平台上运行的大模型测评 OS Copilot智能助手测评
OS Copilot是阿里云为Linux打造的智能操作系统助手,基于大模型,助用户进行自然语言问答、命令执行和系统运维。它简化了Linux操作,适合新手和运维人员。测评者作为IT架构师,发现OS Copilot使非技术背景人员也能操作Linux,接入命令可在官方文档找到。测试显示,通过"co"命令可与OS Copilot交互,实现生产任务融合。该工具提高了工作效率,尤其是对于遗忘具体命令时,非常有帮助。文档清晰,适合生产环境使用,值得进一步探索。
42 0
|
1月前
|
NoSQL 关系型数据库 MySQL
linux服务器重启php,nginx,redis,mysql命令
linux服务器重启php,nginx,redis,mysql命令
34 1
|
1月前
|
关系型数据库 MySQL Linux
Linux下怎么快速部署MySQL服务,并使用
Linux下怎么快速部署MySQL服务,并使用
37 5
|
1月前
|
Linux 开发工具
Linux技术资源分享:探索Linux软件包的宝藏:沙皇下载平台体验
Linux技术资源分享:探索Linux软件包的宝藏:沙皇下载平台体验
17 3
|
22天前
|
关系型数据库 MySQL Linux
Linux部署实战前言,MySQL在CentOS安装【单机软件】,MySQL的安装需要root权限,yum install mysql,systemctl enable mysqld开机自启的意思
Linux部署实战前言,MySQL在CentOS安装【单机软件】,MySQL的安装需要root权限,yum install mysql,systemctl enable mysqld开机自启的意思
|
1月前
|
关系型数据库 MySQL Linux
MySQL8.0安装(Linux - centos)
MySQL8.0安装(Linux - centos)
47 0
|
1月前
|
关系型数据库 MySQL Linux
Linux系统中Mysql5.7建立远程连接
Linux系统中Mysql5.7建立远程连接
21 0
|
1月前
|
关系型数据库 MySQL Linux
Linux centos 6.5 - Mysql 安装 、卸载、修改密码、忘记密码 并异常处理
Linux centos 6.5 - Mysql 安装 、卸载、修改密码、忘记密码 并异常处理
34 0
|
1月前
|
关系型数据库 MySQL Linux
linux安装mysql
linux安装mysql