[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。
六、在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分出约200字节的主内存给每一个线程。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对每一个连接使用封闭读取,如果指定的通道连接可用,这就意味着

