Win32平台下运行的Mysql的一些特点
程序员文章站
2022-06-12 12:10:23
...
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_table
和MY_TABLE
都指向同一个表子,下列查询将不工作:SELECT * FROM my_table WHERE MY_TABLE.col=1;
- “ \ ”目录字符
- 在Win95上的路径名组成由“\”字符分隔,它在MySQL中也是转义字符。如果你正在使用
LOAD DATA INFILE
或SELECT ... 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