欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Win32平台下运行的Mysql的一些特点

程序员文章站 2022-06-10 18:22:00
...

Win95和线程 Win95 为每个线程的创建损失大约200个字节的内存。因此,如果你进行许多连接,你不应该在Win95运行 mysqld 很长时间,因为 MySQL 的每个连接都创建一个新线程!WinNT和Win98不能容忍这个bug。 阻塞式读 (blocking read) MySQL 为每个连接使用

Win95和线程
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_tableMY_TABLE都指向同一个表子,下列查询将不工作:
SELECT * FROM my_table WHERE MY_TABLE.col=1; 
“ \ ”目录字符
在Win95上的路径名组成由“\”字符分隔,它在MySQL中也是转义字符。如果你正在使用LOAD DATA INFILESELECT ... INTO OUTFILE,你必须用两个“\”字符或使用Unix风格的文件名“/”字符:
LOAD DATA INFILE "C:\\tmp\\skr.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不能正确解释你的主机名。为了修正它,你应该创建一个文件“\windows\hosts”,有下列信息:
127.0.0.1  localhost