Win32版与Unix版MySQL比较

2016-02-19 19:24 7 1 收藏

今天图老师小编给大家精心推荐个Win32版与Unix版MySQL比较教程,一起来看看过程究竟如何进行吧!喜欢还请点个赞哦~

【 tulaoshi.com - 编程语言 】

  MySQL- Win32现在已经证明了自己很稳定。这个版本得MySQL有与对应的Unix版本同样的特征,除了下面:

  Win95和线程

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  Win95 为每个线程的创建损失大约200个字节的内存。因此,如果你进行许多连接,你不应该在Win95运行mysqld很长时间,因为MySQL的每个连接都创建一个新线程!WinNT和Win98不能容忍这个bug。阻塞式读(blocking read) MySQL为每个连接使用一个阻塞式读取,这意味着:一个连接将不在8个小时后自动被断开,就像MySQL的Unix版本所发生的。如果一个连接“挂起”,不杀死MySQL就不可能打破它。 mysqladmin kill在一个睡眠的连接上将不工作。只要有睡眠的连接,mysqladmin shutdown不能中途中断。我们计划在不久的将来修正它。

  UDF函数

  暂时MySQL-Win32不支持用户可定义函数。 DROP DATABASE 你不能抛弃一个正在被某些线程使用的数据库。从任务管理器杀死MySQL 在Windows95上,你不能从任务管理器或用shutdown实用程序杀死MySQL。你必须用mysqladmin shutdown关闭它。大小写区分的名字文件名在Win32上是忽略大小写的,因此Win32上的MySQL数据库和表的名字也是忽略大小写的。唯一的限制是数据库和表的名字必须在整个一个给定的语句中大小写是一样的,因为它用my_table和MY_TABLE都指向同一个表子,下列查询将不工作: SELECT * FROM my_table WHERE MY_TABLE.col=1;

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  “  ”目录字符

  在Win95上的路径名组成由“”字符分隔,它在MySQL中也是转义字符。如果你正在使用LOAD DATA INFILE或SELECT ... INTO OUTFILE,你必须用两个“”字符或使用Unix风格的文件名“/”字符: LOAD DATA INFILE "C:tmpskr.txt" INTO TABLE skr; SELECT * FROM skr INTO OUTFILE 'C:/tmp/skr.txt';

  Can't open named pipe错误

  如果你使用NT上的MySQL-Win32共享软件版本,用最新的mysql客户,你将得到下列错误: error 2017: can't open named pipe to host: . pipe... 这是因为NT上MySQL正式版本缺省地使用命名管道。你能通过为新MySQL客户使用--host=localhost选项或创建一个包含下列信息的文件“C:my.cnf”来避免这个错误: [client] host = localhost

  Access denied for user错误

  在访问在同一机器上的一个MySQL服务器时,如果你得到Access denied for user: 'some-user@unknown' to database 'mysql'的错误,这意味着MySQL不能正确解释你的主机名。为了修正它,你应该创建一个文件“windowshosts”,有下列信息: 127.0.0.1 localhost 对于可能想要帮助我们做好Win32版本的任何人,这里有的一些开放的问题:制作一个单用户MYSQL.DLL服务器。这应该包括一个标准MySQL服务器的一切,除了线程创建外。这将使MySQL在不需要一个真正的客户机/服务器和不需要从其他主机存取服务器的应用程序时更容易使用。为MySQL安装增加一些漂亮的“start”和“shutdown”图标。为MySQL启动选项创建造一个工具管理注册表条目。注册表条目的度缺已经被编码进mysqld.cc,但是它应该重新编码而更加面向“参数”,该工具应该也能更新“ my.cnf”文件,如果用户比较喜欢使用它而不是注册表。当用--install登记mysqld作为一种服务(在 NT 上 )时,如果你也可以在命令行上增加缺省选项,它将更好,目前解决办法是更新“C:my.cnf”文件。当你挂起一个运行Win95的膝上计算机时,当膝上计算机被恢复时,mysqld守护程序不接受新连接。我们不知道这是否 Win95、TCP/IP或MySQL的问题。能从任务管理器杀死mysqld将绝对是好事,目前,你必须使用mysqladmin shutdown。移植用在 mysql命令行工具的readline到Win32。标准的GUI版本MySQL客户(mysql、mysqlshow、mysqladmin和mysqldump) 将更好。如果在“net.c”中的套接字“读”和“写”函数是可中断的,那将更好。这将有可能在Win32上用mysqladmin kill杀死打开的线程。制作有关哪些Windows程序能工作在MySQL-Win32/MyODBC和必须做什么在能让他们工作的文档。 mysqld总是在“C”处启动而不在缺省地点,我们想让mysqld使用当前地点用于排序顺序。移植sqlclient到Win32(几乎完成)并加入更多的特征!把更多的选项加到Mysql Manager。在服务器和客户之间改变通讯协议,使用Windows内部通讯而不是套接字和TCP/IP。用.DLL实现UDF函数。增加宏以使用由Win32提供的更快的对线程安全的增加/减少方法。其他Win32特定问题在MySQL-Win32分发的“README”文件中描述。

来源:http://www.tulaoshi.com/n/20160219/1620901.html

延伸阅读
众 所 周 知, 在Windows95/98 的Win32 on Intel x86 体 系 中 利 用 了 处 理 器 的 三 环 保 护 模 型 中 的 零 环(Ring0, 最 高 权 限 级 别) 和 三 环(Ring3, 最 低 权 限 级 别)。 一 般 应 用 程 序 都 运 行 在Ring3 下, 受 到 严 格 的" 保 护", 只 能 规 矩 地 使 用Win32API。 如 果 我 们 想 进 行 一 些 系 ...
这一次我们将深入探讨如何在 C# 中使用 Win32 和其他现有库。 C# 用户经常提出两个问题:我为什么要另外编写代码来使用内置于 Windows 中的功能?在框架中为什么没有相应的内容可以为我完成这一任务?当框架小组构建他们的 .NET 部分时,他们评估了为使 .NET 程序员可以使用 Win32 而需要完成的工作,结果发现 Win32 API 集非常庞大。...
CNTService 类 当我创建 C++ 对象封装 Windows 函数时,我尝试为我封装的每个 Windows API 除了创建成员函数外,还做一些别的工作,我尝试让对象更容易使用,降低实现特定项目所需的代码行数。因此我的对象是基于我想让这个对象做什么?而不是Windows 用这些 APIs 做什么? CNTService 类包含一些用来解析命令行的成员函数,为了处理服...
可得到几种版本的MySQL分发包。当前稳定的发行版有3.22 版本系列。当前正在开发的版本为3.23 系列。一般,应该使用系列中最高编号的版本。 MySQL分发包可以以二进制代码、RPM 和源代码的格式得到。二进制代码和RPM 分发包容易安装,但必须接受建立在分发包内的安装设计和缺省配置。源代码分发包安装很困难,因为必须对软件进行编译,...
标签: 电脑入门
有用户在双击安装某个软件时,经常会弹出XXX.EXE不是有效Win32应用程序的错误提示。 当然,有时即使我们双击运行任意一个EXE格式的可执行文件,同样会出现这样的错误提示。那么如何才能够避免系统出现不是有效Win32应用程序问题呢。 如果仅仅是在安装某些软件时,才弹出错误信息,这说明我们安装的程序包不完整或者是程序安装不成功,此时可...

经验教程

968

收藏

95
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部