在Windows平台上使用MySQL有以下限制:
进程内存
在Windows 32位平台上,默认情况下不可能在单个进程(包括MySQL)中使用超过2GB的RAM。这是因为Windows 32位上的物理地址限制是4GB,而Windows内的默认设置是将虚拟地址空间划分为内核(2GB)和用户/应用程序(2GB)。
一些版本的Windows有一个引导时间设置,通过减少内核应用程序来支持更大的应用程序。或者,如果要使用超过2GB的内存,请使用64位版本的Windows。
文件系统别名
当使用
MyISAM
表,你不能在Windows内使用别名链接到另一个卷上的数据文件,然后链接回主MySQLdatadir
的位置。该工具通常用于将数据和索引文件移动到RAID或其他快速解决方案中。
端口数量有限
Windows系统大约有4,000个端口可用于客户机连接,在某个端口上的连接关闭后,需要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服务器只支持与当前ANSI代码页兼容的目录和文件名。例如,以下日文目录名在西方地区无法工作(代码页1252):
datadir="C:/私たのプロジェクトのデタ"
中的数据文件路径名等SQL语句中引用的目录和文件名也受到同样的限制
加载数据
.的
\
路径名分隔符字符Windows中的路径名组件由
\
字符,这也是MySQL中的转义字符。如果你正在使用加载数据
或选择……到输出文件
,使用unix风格的文件名/
人物:mysql> LOAD DATA INFILE 'C:/tmp/skr.txt' INTO TABLE skrmysql> 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——用户=根
如果您在应用日志时遇到问题,并怀疑这是由于
Z ^
/CHAR (24)
字符,您可以使用以下解决方案:C: \ > mysqlbinlogbinary_log_file——结果文件= / tmp / bin。sql C:\> mysql——user=root——执行“source /tmp/bin.sql”
后一个命令还可以用于可靠地读取可能包含二进制数据的任何SQL文件。