MySQL在Windows平台上的使用限制如下:
进程内存
在Windows 32位平台上,默认情况下不可能在单个进程中使用超过2GB的RAM,包括MySQL。这是因为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服务器只支持与当前ANSI代码页兼容的目录和文件名。例如,以下日文目录名在西方语言环境中不起作用(代码页1252):
datadir = " C: /私たちのプロジェクトのデータ”
SQL语句中引用的目录和文件名也有相同的限制,例如数据文件路径名
加载数据
。的
\
路径名分隔符路径名组件在Windows中以
\
字符,也是MySQL中的转义字符。如果你正在使用加载数据
或选择……到输出文件
,使用unix风格的文件名/
人物:mysql> LOAD DATA INFILE 'C:/tmp/skr.txt' INTO TABLE 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——用户=根
如果您在应用日志时出现问题,并怀疑这是由于
Z ^
/CHAR (24)
字符,你可以使用以下方法:C: \ > mysqlbinlogbinary_log_file——结果文件= / tmp / bin。sql C:\> mysql——user=root——execute "source /tmp/bin.sql"
后一个命令还可以用于可靠地读取可能包含二进制数据的任何SQL文件。