HI,movno1
分类: Mysql/postgreSQL
2006-04-17 09:41:59
如何在windows系统下安装MySQL | ||
出处:51CTO.COM教程 | ||
| ||
可以运行在本地windows版本的MySQL数据库程序自从3.21版以后已经可以从MySQL AB公司获得,而且 MYSQL每日的下载百分比非常大.这部分描述在windows上安装MySQL的过程. 安装程序是针对windows版本的MySQL 5.0,结合了图形安装向导,自动的安装MySQL,创建 一个配置文件,启动服务器,和保护默认的用户帐户. 如果你是升级安装现有的MySQL 4.1.5版本.你必须完成下列步骤: 1. 获得和安装 2. 如果有必要安装配置文件 3. 选择一个想要使用的服务器. 4. 启动服务器 5. 为MYSQL帐户设置密码. 这个过程在没有安装配置的myslq安装程序里完成.MySQL 5.0 for Windows 可用的种格式: · 包含二进制的安装程序可以安装所有你需要的依次你可以立即启动服务器. · 原始类包括所有代码和支持文件建造执行使用Visual Studio 2003编译系统. 一般来讲,你应该使用二进制形式.较其他比较简单,和你不需要额外的工具让mysql使用 和运行. 本文主要描述怎样在windows上安装使用二进制格式的MYSQL. 四、从Noinstall Zip Archive中安装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] 部分的选择文件来具体化基本目录和数据目录的参数值: [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版本提供的服务类型: 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,则 需对上述例子作合理的替代。 |
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授权数据表的帐号初始化是没有密码的。
五、测试 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 选项来规定管道名。
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环境变量的值来确定其具体位置,需要从命令提示符发出下列命令:
[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数据目录 转移到相应的位置。
要永久删除旧的mysql服务,需要用户以管理权限在命令行上执行下列命令: C:\>sc delete mysql [SC] DeleteService SUCCESS如果你的Windows版本上没有sc工具栏,就从下面的网址上下载delsrv工具栏: 然后运用delsrv mysql syntax。
1. 在升级之前,你应当一直支持目前的MySQL安装。 “Database Backups” 2. 在http://dev.mysql.com/downloads可以下载在Windows上安装MySQL 的最新内容。 3. 在升级MySQL之前,必须停止服务器。如果服务器是作为服务安装的,要从命令提示符通过下列命令停止服务:
o一个连接不会在8小时后自动断开,这发生于Unix版本的MySQL。 o如果连接悬挂,只有关闭MySQL才能断开该连接。 omysqladmin kill 对睡眠状态的连接无效。 o只要存在睡眠连接,mysqladmin shutdown不会异常终止。• ALTER TABLE
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;• 进程管道的问题
127.0.0.1 localhost参考。(51CTO.COM教程)