从Noinstall Zip Archive中安装MySQL
正在从Noinstall软件包安装MySQL的用户可使用这个说明来手动安装MySQL。从Zip archive 中安装MySQL的 步骤以下:mysql
1 在指定的安装目录下解压软件包。 2 制造选择文件。 3 选择MySQL服务类型。 4 开始MySQL服务。 5 保护默认帐户。
解压安装软件包
为了手工安装MySQL,须要按如下步骤进行:
1 若是你须要对之前的版本更新,请参考在更新步骤刚开始时的文章 “Upgrading MySQL on Windows”。
2 若是你正在使用基于Windows NT的操做系统例如Windows NT, Windows 2000, Windows XP或者Windows Server 2003,必须保证你做为拥有管理员特权的用户登陆该系统。
3 选择一个安装位置。传统的MySQL服务器安装在 C:\mysql,而MySQL安装向导将 MySQL 安装到 C:\Program Files\MySQL。若是不将 MySQL 安装到 C:\mysql下,你必须在启动或者在选择文件中具体指出安装路径。
4 选用压缩工具将安装压缩软件解压缩至选择安装的位置上。有些压缩工具备可能将其解压到你的被选择的安 装位置的子目录中。若是是这种状况,你能够将该子目录的内容从子目录移至安装路径下。
生成选择文件
若是你须要在运行服务器时,具体化启动选项,你能够在命令行标志出他们或者在一个选择文件中设置他们。 对于每次服务器启动时所使用的服务,你将会发现使用选择文件来具体化你的MySQL配置是很是便利的。尤为是 在如下状况中:当MySQL服务在Windows上启动时,其在两个文件中寻找选项:在Windows目录下的 my.ini 文件以及C:\my.cnf 文件。Windows目录典型的命名以下:C:\WINDOWS or C:\WINNT。你能够经过下面的命令来决定WINDIR环境变量 的值: C:\> echo %WINDIR% MySQL首先在my.ini 文件中寻找选项,而后是在my.cnf 文件中。然而,为了不混淆,最好是只用一个文件。 若是你的PC使用加载的启动装备同时C:不是启动区,那你只能经过my.ini文件来进配置。无论你使用哪一种选择 文件,该文件必须是文本格式。你同时也能够充分利用包含在你的MySQL发布版的样本文件。在你的安装目录下 寻找诸如 my-small.cnf, my-medium.cnf, my-large.cnf和my-huge.cnf的文件,这些文件能够被从新命名同时 拷贝到合适的位置做为一个基本的配置文件来使用。一个选择文件能够被任何文本编辑器生成和修改,诸如 Notepad等。例如,若是MySQL被安装在E:\mysql 目录下,而数据目录是在E:\mydata\data下,你能够生成一个 包含 [mysqld] 部分的选择文件来具体化基本目录和数据目录的参数值:sql
[mysqld] # set basedir to your installation path basedir=E:/mysql # set datadir to the location of your data directory datadir=E:/mydata/data
在这里须要注意Windows路径名在事先使用的斜线而不是反斜线选择文件中被具体化。所以当你使用反斜线时, 你必须使用双斜线。数据库
[mysqld] # set basedir to your installation path basedir=E:\\mysql # set datadir to the location of your data directory datadir=E:\\mydata\\data
在Windows中,MySQL安装程序直接将数据目录安装在你安装MySQL的目录下。若是你须要在另外不一样的位置使用 数据目录,你须要将整个数据目录的内容拷贝至新的位置。例如,若是MySQL安装在C:\Program Files\MySQL\MySQL Server 5.0 目录下,则数据目录的位置默认是在 C:\Program Files\MySQL\MySQL Server 5.0\data下。若是你须要将E:\mydata 做为你的数据目录,你须要作如下两件事情:
1 将整个数据目录和它的全部内容从C:\Program Files\MySQL\MySQL Server 5.0\data 移至E:\mydata.。
2 每次启动服务时,使用a--datadir选项来确认新的数据目录位置。
选择MySQL服务类型
如下显示了MySQL5.0Windows版本提供的服务类型:windows
mysqld-debug带有彻底调试和自动内存分配检查的编译,该编译对象也包括 InnoDB和BDB数据表。 mysqld 优化InnoDB支持的二进制数据。 mysqld-nt优化命名管道支持的二进制数据。 mysqld-max优化InnoDB 和 BDB数据表所支持的二进制数据 mysqld-max-nt同mysqld-max功能同样,可是编译时支持命名管道
上述优化选项都是针对Intel 处理器的,可是应该能够工做在任何Intel i386-class 或者更高的处理器。在MySQL 5.0中,全部的Windows版本服务器都提供了对数据库目录的符号连接。 MySQL提供了对Windows平台上的TCP/IP 的支持。mysqld-nt和 mysql-max-nt 服务器则提供了对Windows NT,2000,XP和2003下的命名管道的支持。然而,无论在何种平台下,默认使用的都是TCP/IP。(在不少Windows 配置下,命名管道要比TCP/IP服务要慢)
命名管道的使用受如下条件的制约:
命名管道只有当你启动服务时选择 --enable-named-pipe才会被激活。很是有必要的显式使用该选项 ,由于有些用户在命名管道正在使用时关掉MySQL服务器遇到过故障问题。 命名管道只有在mysqld-nt 或mysqld-max-nt 服务器下而且仅当该服务器运行在支持命名管道的 Windows版本的平台下才能使用。 在Windows 98 or Me系统下,只有当其安装了TCP/IP后,这些服务才可以运行。命名管道的链接不能 使用。 上述服务在Windows 95下不可以运行。注意:在参考手册中的大部分例子都使用mysqld做为服务名。若是你使用另一个服务器,例如mysqld-nt,则 需对上述例子做合理的替代。
首次开启服务
这部分的信息主要应用在使用Noinstall版本安装MySQL时,或者但愿手动而不是使用GUI工具配置和检测MySQL 的状况下。在Windows 95, 98, or Me下,MySQL客户端常常和使用TCP/IP的服务器相链接。(这容许在你网络上的任意机器 能够和MySQL服务器链接)。基于这一点,你必须保证在启动MySQL前,TCP/IP 支持安装在你的机器上。你能够 到在你Windows CD-ROM中找到TCP/IP服务。 在这里须要注意的是若是你正在使用老的Windows 95发布版本(例如OSR2),那颇有可能你在使用一个旧的 Winsock软件包;MySQL须要的是Winsock 2。你能够从http://www.microsoft.com/.下载最新的Winsock软件包 。Windows 98具备新的Winsock 2库,因此无需更新库。在基于NT的系统例如 Windows NT, 2000, XP, or 2003上,客户能够有两个选择。他们可使用TCP/IP或者当 服务器支持命名管道的链接时使用命名管道。为了获得在TCP/IP下工做的Mysql版本,你必须安装service pack 3(或者更新的版本) 若是在启动时,选择 --shared-memory, Windows版本的MySQL 5.0一样也支持共享内存的链接。客户端能够选 择 --protocol=memory 选项来进行共享内存的链接。
以上对启动MySQL服务进行了整体概述,下面的内容提供了从命令行或者做为Windwos服务来启动MySQL服务器更 加具体的信息:
假设MySQL安装在默认位置C:\Program Files\MySQL\MySQL Server 5.0下。若是你把MySQL安装在不一样的位置上 ,则需调整相应的路径名。测试工做能够从控制台窗体(或者经过“DOS window”)经过一个即时命令来完成。 这样你就能够会在窗体中比较容易的看到服务器状态信息。若是你的配置有误时,这些信息将有助于你识别和 修复任何故障。为了开启服务,输入如下命令:服务器
C:\> C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld --console 对于InnoDB支持的服务器,在服务启动时你能够看到下列信息: InnoDB: The first specified datafile c:\ibdata\ibdata1 did not exist: InnoDB: a new database to be created! InnoDB: Setting file c:\ibdata\ibdata1 size to 209715200 InnoDB: Database physically writes the file full: wait... InnoDB: Log file c:\iblogs\ib_logfile0 did not exist: new to be created InnoDB: Setting log file c:\iblogs\ib_logfile0 size to 31457280 InnoDB: Log file c:\iblogs\ib_logfile1 did not exist: new to be created InnoDB: Setting log file c:\iblogs\ib_logfile1 size to 31457280 InnoDB: Log file c:\iblogs\ib_logfile2 did not exist: new to be created InnoDB: Setting log file c:\iblogs\ib_logfile2 size to 31457280 InnoDB: Doublewrite buffer not found: creating new InnoDB: Doublewrite buffer created InnoDB: creating foreign key constraint system tables InnoDB: foreign key constraint system tables created 011024 10:58:25 InnoDB: Started
当服务器完成启动序列后,你能够看到以下信息,这些信息代表服务器已经开始服务客户端链接:网络
mysqld: ready for connections Version: '5.0.13-rc' socket: '' port: 3306
服务器将会继续将其所产成的判断信息输入到控制台上。而你则能够打开一个新的控制台来运行客户端程序。若是你省略了 --console 选项,服务器将会把诊断信息输出到 数据目录下的错误日志中(默认是C:\Program Files\MySQL\MySQL Server 5.0\data )。错误日志以.err为扩展名。注意:在MySQL受权数据表的账号初始化是没有密码的。
在Windows命令行下开启MySQL服务
MySQL服务器能够手动从命令行启动。该项操做能够在Windows的任何版本下完成。为了从命令行启动mysqld服 务,你应该启动一个控制台窗体(或者"DOS 窗体")同时输入如下命令:
C:\> C:\Program Files\MySQL\MySQL Server 4.1\bin\mysqld
在上述例子中使用的路径能够根据你的系统安装MySQL的路径不一样而改变。在非NT版本的Windows版本上, mysqld是在后台启动的。这也就意味着在服务启动以后,你查看另外的即时命令。基于这一点,你应该在服务 运行时打开另一个控制窗体来运行客户端程序。
你能够经过执行如下命令中止MySQL服务:
C:\> C:\Program Files\MySQL\MySQL Server 4.1\bin\mysqladmin -u root shutdown
该命令激活MySQL管理程序和服务器链接同时告诉他关闭服务。该名令是做为MySQL根用户链接的,在Mysql权限 系统中,根用户默认是管理员账户。注意在MySQL受权系统中的用户和任意在Windows下登录的用户是彻底独立 的。若是mysqld没有启动,检查错误日志文件查看是否服务器向其中写入了信息,该信息说明问题产生的缘由。错 误日志位于C:\Program Files\MySQL\MySQL Server 5.0\data 目录下。该日志是以扩展名为.err的文件。你也 能够试着从新开启mysqld 控制台服务,这样你就有可能获取一些有助于解决问题的信息。最后一个选项是开启mysqld时选择--standalone --debug。在这种状况下,mysqld 将会写一个 C:\mysqld.trace的日志文件,该日志文件将会包含mysqld为什么没有启动的缘由。
使用mysqld --verbose --help 能够看到mysqld所提供的全部选项的帮助信息。
做为一项Windows服务开启MySQL
在NT系列的Windows版本(Windows NT, 2000, XP, 2003)中,推荐运行MySQL服务的方法是将其做为Windows服务 进行安装,在这种状况下MySQL随着Windows开始和结束自动开始和结束。一个做为服务被安装的MySQL服务器能 够被从命令行上使用NET命令或者使用图形界面服务程序所控制。服务程序(Windows 服务控制管理器)能够被在 Windows控制面板中找到(在Windows 2000, XP, and Server 2003的管理工具下)。建议在执行服务器安装程序 时或者在命令行中执行删除操做时关闭服务应用程序。这将会防止不少错误。在将MySQL做为Windows服务安装以前,若是当前服务器正在运行,应该首先使用下述命令中止其的运行:
C:\> C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqladmin -u root shutdown
注意:若是MySQL根用户有密码,那么你须要这样激活命令:
C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqladmin -u root -p shutdown ,同时必须根据提示输入 用户密码。
这调用了MySQL的管理功能mysqladmin,mysqladmin能够链接到服务器,让服务器关闭。这个命令是做为MySQL 的 root用户而和服务器创建链接的,MySQL的 root用户在MySQL受权系统中是默认管理账户。须要注意的是在 MySQL受权系统中的用户是彻底独立于Windows上登陆用户。
用下列命令可将服务器做用一项服务安装:
C:\> mysqld –install
若是你用server名字在将服务器安装成一项服务的过程当中遇到问题, 那就试试用全称路径名。举例来讲:
C:\> C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld --install
你也能够将到mysql bin目录的路径加入到Windows 系统PATH 环境变量:
在Windows桌面上,右击“个人电脑”,选择“属性” 出现系统属性菜单,选择“高级”,而后单击“环境变量”按钮。 在“系统变量”列表中选择“路径”,而后单击“编辑”按钮。这时会出现编辑系统变量对话框。 将光标放在“变量值”对应的文字的末尾(请使用 End key,以确保光标在最后的位置) 。而后输入 MySQL bin 目录的全称路径, (举个例子, C:\Program Files\MySQL\MySQL Server 5.0\bin), 注意应该用分 号将这个路径与其它值分开。 点击“肯定”逐个关闭全部打开的对话框。如今你就能够在DOS系统下从系统的 任意目录中,经过输入任意可执行的 MySQL 程序的名字而找到该程序,没必要再输入路径。这包括服务器、 mysql 客户和全部 MySQL 命令行好比 mysqladmin 和 mysqldump。 注意若是你在同一台机器上运行多个MySQL 服务器的话,就不要将MySQL bin 目录加入到 Windows 路 径中。
警告: 在手工编辑系统路径的时候必定要特别当心,若是不当心删除或改变了系统路径中的任何部分都将致使 误操做甚至致使系统不稳定。服务安装命令并不启动服务器,关于这点后面将详细介绍。
MySQL 5.0 在安装服务的过程当中对附加参数提供的支持有限: 你能够在安装选项以后当即为服务命名,不然默认的服务名字是 MySQL。
若是设置了一个服务名字,就能够用使用单一选项。一般按照约定,这应当是--defaults- file=file_name 来设置选项文件的名字,服务器在启动时会从选项文件中读取选项。可使用单一选项而不用--defaults-file,但不推荐这样作。由于,--defaults-file 更加灵活,你能够 经过将多个选项放到指定的选项文件中而为服务器设置多个启动选项。一样,在MySQL 5.0中咱们也不支持使用 不一样于--defaults-file的选项,但5.0.3版本就能够这样作了。
对于MySQL 5.0.1,你也能够在服务名字下设置一个 --local-service(本地服务)选项。这会使服务 器用LocalService Windows账户运行。这种账户只在Windows XP或更新的系统上才有。若是服务名字下既有-- defaults-file 也有 --local-service,那么它们之间不论次序。 对于安装成Windows服务的MySQL服务器来讲,由下面的规则决定服务名字和服务器使用的选项文件: 若是服务安装命令没有指定服务名字,那么安装选项将默认服务名字为MySQL, 服务器将使用 MySQL服 务,并从标准选项文件中的 [mysqld]群中读取选择。 若是服务安装命令没有指定了一个服务名字,服务器将使用指定的服务名字并从从标准选项文件中与 服务名字相同的群中读取选项。 服务器也从标准文件选项文件中的[mysqld]群中读取选项。这保证能够从[mysqld]群中读取全部MySQL服务都 用的选项,而用指定服务名字按照的服务器使用和与指定服务名字相同的选项群。 若是安装命令在服务名字以后指定一个 --defaults-file 选项,那么服务器只从指定文件的 [mysqld] 群中读取选项而忽略标准选项文件。
下面的命令是一个复杂的例子:
C:\> C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld --install MySQL --defaults-file=C:\my- opts.cnf
在这里,由安装选项给出了默认服务名字MySQL。若是没有给出--defaults-file选项,那么这个命令将使服务 器从标准选项文件中的[mysqld]群中读取。然而在这里给出了--defaults-file选项,因此服务器只从指定文件 的[mysqld] 选项群读取。
你也能够在启动MySQL服务以前,在Windows Services 工具栏中将选项定义为启动参数。一旦MySQL服务器被安装成一项服务,Windows就会在启动时自动启动该服务。也能够在Services 工具栏中直接 启动MySQL服务器,或使用NET START MySQL命令也可。NET 命令不区分大小写。
做为服务运行时,mysqld无权使用控制窗口,所以在这里看不到消息。若是mysqld不能启动,就查错误记录看 看服务器是否是写下了什么说明问题缘由的消息。错误记录在MySQL数据目录下(好比: C:\Program Files\MySQL\MySQL Server 5.0\data)。错误记录的后缀名是 .err。
MySQL做为服务安装的状况下,若是服务正在运行,Windows关闭的时候会自动中止服务。 若是你不想在boot 进程中自动启动服务,你能够将服务器做为手动服务安装。手动服务的安装须要选择“手动 安装” 选项而不是 “安装”选项:
C:\> C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld --install-manual
要删除做为服务安装的服务器时,首先要经过NET STOP MYSQL关闭正在运行的MYSQL,而后用“删除”选项删除 它:
C:\> C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld --remove 若是mysqld不是做为服务运行,能够用命令行启动它。socket
5、测试 MySQL安装
你能够经过执行下列任何一个命令来测试MySQL 服务器是否安装:编辑器
C:\> C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqlshow C:\> C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqlshow -u root mysql C:\> C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqladmin version status proc C:\> C:\Program Files\MySQL\MySQL Server 5.0\bin\mysql test
若是mysqld对来自客户程序的TCP/IP 链接反应很慢,那么说明你的DNS可能有问题。在这种状况下,用--skip -name-resolve选项启动mysqld,并且在MySQL 受权列表的Host栏中只使用本地Host和IP。 你能够强迫 MySQL客户运用管理链接,而不用TCP/IP。方法是选定--pipe 或--protocol=PIPE 按钮,或指定 . (period)做为主机名。运行--socket 选项来规定管道名。
9、排除在Windows下安装MySQL的故障
若是是初次安装MySQL,你可能会遇到一些阻止MySQL启动的错误,这一部分的目的就是帮助你诊断和排除某些 故障。 在排查故障时,可用的第一项资源就是错误记录。MySQL 服务器的错误记录会记下阻止服务器启动的相关错误 。错误记录在数据目录下,my.ini文件中记载了数据目录的地址。默认的文件目录位置是C:\Program Files\MySQL\MySQL Server 5.0\data。 另外在MySQL服务运行过程当中的控制信息也可能会记载一些相关的错误。在mysqld做为服务安装以后,从命令行 中执行NET START mysql命令查看是否有关于做为服务启动MySQL服务器的错误信息。
下面的例子是一些首次安装MySQL和启动服务器的过程当中,可能遇到的常见错误信息:工具
System error 1067 has occurred. Fatal error: Can't open privilege tables: Table 'mysql.host' doesn't exist
当 MySQL 服务器找不到 mysql privileges database 或其它关键文件时,就会产生这样的信息。当 MySQL的原始数据或数据目录安装在不一样于默认位置(分别是C:\mysql 和 C:\Program Files\MySQL\MySQL Server 5.0\data )时,经常遇到这个问题。 一种状况是MySQL已升级并安装到新的位置,但配置文件并无反映新的安装位置。另外 ,可能会产生相互冲 突的新、旧配置文件。所以,在升级MySQL时,应确保删除旧的配置文件或重命名。 若是你将MySQL安装到了C:\Program Files\MySQL\MySQL Server 5.0之外的其它位置,你必须确保MySQL服务器 经过一个配置文件(my.ini) 知道安装的位置。my.ini文件必须在Windows目录下,一般是C:\WINNT 或 C:\WINDOWS。你能够从WINDIR环境变量的值来肯定其具体位置,须要从命令提示符发出下列命令:
C:\> echo %WINDIR%
生成一个选项文件,而且能够用任何文本编辑程序修改,好比Notepad。举例来讲,若是MySQL安装在E:\mysql 、数据目录是D:\MySQLdata,你能够建立一个选项文件,在其中建立一个[mysqld]部分来定义basedir 和 datadir参数:测试
[mysqld] # set basedir to your installation path basedir=E:/mysql # set datadir to the location of your data directory datadir=D:/MySQLdata
注意在选项文件中,Windows 路径名是用(forward) slashes 定义的,而不是用 backslashes。若是你使用的 是 backslashes,你就须要将它们加倍:
[mysqld] # set basedir to your installation path basedir=C:\\Program Files\\MySQL\\MySQL Server 5.0 # set datadir to the location of your data directory datadir=D:\\MySQLdata
若是你在MySQL配置文件改变了datadir值,那么你在从新启动MySQL服务器以前就必须将已有的MySQL数据目录 转移到相应的位置。
Error: Cannot create Windows service for MySql. Error: 0
若是你不先中止并删除现有的MySQL而从新安装或升级时,或用MySQL Configuration Wizard安装 MySQL时,就会产生这样的错误。由于当Configuration Wizard试图安装服务时,就会发现已经有一个同名的服 务。 对这个问题的一个解决方法是,在使用configuration wizard时选择一个服务名称,而不用默认的mysql 。这 可使新的服务正确地安装,但旧的还放在那里。建议最好仍是把不用的删掉。
要永久删除旧的mysql服务,须要用户以管理权限在命令行上执行下列命令: C:\>sc delete mysql [SC] DeleteService SUCCESS
若是你的Windows版本上没有sc工具栏,就从下面的网址上下载delsrv工具栏: http://www.microsoft.com/windows2000/techinfo/reskit/tools/existing/delsrv-o.asp 而后运用delsrv mysql syntax。
6、在Windows上升级MySQL
这部分介绍一些在Windows上升级MySQL的必需步骤。
1. 在升级以前,你应当一直支持目前的MySQL安装。 “Database Backups” 2. 在http://dev.mysql.com/downloads能够下载在Windows上安装MySQL 的最新内容。 3. 在升级MySQL以前,必须中止服务器。
若是服务器是做为服务安装的,要从命令提示符经过下列命令中止服务:
C:\> NET STOP MYSQL
若是不是做为服务安装的,就用下列命令中止MySQL服务器:
C:\> C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqladmin -u root shutdown
当将4.1.5之前的版本升级到 MySQL5.0时,或将用Zip压缩文件安装的MySQL升级到用MySQL Installation Wizard安装的MySQL版本时,必须手动删除之前的安装和MySQL服务(若是服务器有做为服务安装的话). 用下列命令删除原来的MySQL服务:
C:\> C:\mysql\bin\mysqld --remove
若是不删除原有服务,MySQL Installation Wizard可能没法安装新的MySQL服务。
若是你从Zip 压缩文档安装MySQL,要么覆盖原有的MySQL安装(一般在C:\mysql),要么在不一样的目录下安装 ,好比C:\mysql4。建议覆盖原有安装。
重启服务器。若是MySQL是做为服务运行的话,用NET START MySQL,或者直接调用mysqld。
Windows 和 Unix两种系统下的MySQL比较
MySQL在Windows上已经至关稳定。Windows版本的MySQL和相应的Unix版本的MySQL具备相同的特性,但存在如下 几点不一样:
• Windows 95和线程
Windows 95分出约200881064151字节的主内存给每个线程。MySQL的每一个链接建立一个新的线程,因此若是服务器处理 多个链接时,不该该在Windows 95下运行 mysqld。其余版本的Windows不存在这个bug。
• 限制端口数量
Windows系统下大概有4,000个可用端口,当一个端口的链接关闭时,须要2-4分钟才能从新启用该端口。当处 于代理链接和断开链接的高峰期时,可能使全部的端口在从新启用以前都处于关闭状态。若是发生这种状况, MySQL服务器将中止相应,尽管它还处于运行状态下。须要注意的是,机器上运行的其它应用程序也可能使用端 口,这也会使可用端口的数量降低。更多的信息请参看下面连接: http://support.microsoft.com/default.aspx?scid=kb;en-us;196271.
• 同时读取
MySQL依赖于调用pread()和pwrite()系统来使INSERT和SELECT可用。目前,咱们使用mutexes来代替pread()和 pwrite()。咱们打算用虚拟的界面来替代文件水平界面,这样咱们就能够在NT,2000和XP系统上使用readfile ()/writefile()界面并得到较高的速度。目前MySQL 5.0只能执行2,048个文件,这就意味着不能在Windows NT ,2000,XP和2003以及Unix下运行多个同时运行的线程。
• 封闭读取
MySQL对每个链接使用封闭读取,若是指定的通道链接可用,这就意味着如下几点:
o一个链接不会在8小时后自动断开,这发生于Unix版本的MySQL。 o若是链接悬挂,只有关闭MySQL才能断开该链接。 omysqladmin kill 对睡眠状态的链接无效。 o只要存在睡眠链接,mysqladmin shutdown不会异常终止。
• ALTER TABLE
当你正在执行一个ALTER TABLE语句时,在被其余线程使用前表格将被锁定。在Windows系统下可发生该状况, 你不能删除被另一个线程使用的文件。未来咱们可能找到解决该问题的方法。
• DROP TABLE
由于MERGE 处理器处理隐藏于MySQL上一层的表格,这可以使Windows下的被MERGE表格使用的DROP TABLE不工做。 由于Windows不容许dropping文件开启,你就必须转储清除全部的MERGE表格(使用FLUSH TABLES)或者在 dropping文件前先撤销MERGE表格。
• 数据目录和索引目录
Windows系统忽略了CREATE TABLE的数据目录和索引目录选项,这是因为Windows不支持符号链接形成的。在拥 有无功能realpath()调用的系统上也会忽略这些选项。
• 撤销数据库
你不可以撤销正在被某个线程使用的数据库。
• 从任务管理器内关闭MySQL
你不可以在任务管理器内关闭MySQL,也不能依靠Windows 95的关机操做关闭MySQL。你必须使用mysqladmin shutdown来关闭MySQL。
• 名称的大小写
在Windows下的文件名不区分大小写,因此Windows一样不区分MySQL数据库和表格的名称的大小写。惟一的限制 就是数据库和表格名称必须在给定的语句内所有使用相同的case来指定。
• ‘\’路径名分离字符
在Windows下使用‘\’来分离路径名,‘\’一样是MySQL里的换码符。若是你使用LOAD DATA INFILE 或者 SELECT ... INTO OUTFILE,使用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:\> mysqlbinlog binary-log-name | mysql --user=root 若是你须要应用该日志并遇到问题,你能够怀疑这是因为^Z / CHAR(24)字符致使的,可以使用下面的工做区来解 决: C:\> mysqlbinlog binary-log-file --result-file=/tmp/bin.sql C:\> mysql --user=root --execute "source /tmp/bin.sql" 这样,后面的命令也能够可靠的读取含有二进制数据的SQL文件。