在Windows平台上使用MySQL有以下限制:
进程内存
在Windows 32位平台上,默认情况下不可能在单个进程(包括MySQL)中使用超过2GB的RAM。这是因为32位Windows上的物理地址限制是4GB, Windows内的默认设置是在内核(2GB)和用户/应用程序(2GB)之间分割虚拟地址空间。
某些版本的Windows有一个引导时间设置,通过减少内核应用程序来启用更大的应用程序。或者,要使用超过2GB的容量,请使用64位版本的Windows。
文件系统别名
当使用
MyISAM
表,你不能使用别名在Windows内链接到另一个卷上的数据文件,然后链接回主MySQLdatadir
的位置。此功能通常用于将数据和索引文件移动到RAID或其他快速解决方案。
端口数量有限
Windows系统大约有4000个端口可用于客户端连接,当端口上的连接关闭后,需要2到4分钟才能重新使用该端口。在客户端以很高的速率连接到服务器并从服务器断开连接的情况下,可能在关闭的端口再次可用之前,所有可用端口都已用完。如果发生这种情况,即使MySQL服务器正在运行,但它似乎也没有响应。端口也可能被运行在机器上的其他应用程序使用,在这种情况下,MySQL可用的端口数量会更少。
有关此问题的详细信息,请参见https://support.microsoft.com/kb/196271.
数据目录
而且索引目录
的
数据目录
的条款创建表
语句在Windows for中被支持InnoDB
表,如中所述15.6.1.2节,“从外部创建表”.为MyISAM
和其他存储引擎数据目录
而且索引目录
条款为创建表
在Windows和任何其他具有非功能性的平台上被忽略realpath ()
调用。不能删除另一个会话正在使用的数据库。
不区分大小写的名字
文件名在Windows上不区分大小写,因此MySQL数据库和表名在Windows上也不区分大小写。唯一的限制是数据库名和表名必须在给定语句中使用相同的大小写指定。看到第9.2.3节,“标识符区分大小写”.
目录和文件名
在Windows上,MySQL Server只支持与当前ANSI代码页兼容的目录和文件名。例如,以下日文目录名在西方地区(代码页1252)中不起作用:
datadir="C:/私たのプロジェクトのデタ"
同样的限制也适用于SQL语句中引用的目录和文件名,例如中的数据文件路径名
加载数据
.的
\
路径名称分隔符Windows中的路径名称组件由
\
字符,它也是MySQL中的转义字符。如果你正在使用加载数据
或选择……到输出文件
,使用unix风格的文件名/
人物:mysql>将C:/tmp/skr.txt导入到表skr中mysql> SELECT * INTO OUTFILE 'C:/tmp/skr.txt' FROM skr;
或者,你必须加倍
\
性格:mysql> LOAD DATA INFILE 'C:\\tmp\\skr.txt' INTO TABLE skr;mysql> SELECT * INTO OUTFILE 'C:\\tmp\\ \skr.txt' FROM skr;
管道问题
管道不能从Windows命令行提示符可靠地工作。如果管道包含字符
Z ^
/CHAR (24)
, Windows认为它遇到了文件结束并中止程序。这主要是一个问题,当你试图应用二进制日志如下:
C: \ > mysqlbinlogbinary_log_file| mysql——user=root
如果您在应用日志时遇到问题,并怀疑这是由于
Z ^
/CHAR (24)
字符,你可以使用以下解决方案:C: \ > mysqlbinlogbinary_log_file——结果文件= / tmp / bin。sql C:\> mysql——user=root——执行"source /tmp/bin.sql"
后一个命令还可以用于可靠地读取可能包含二进制数据的任何SQL文件。