代码改变世界

Windows下安装MySQL最佳实践

2012-06-19 09:15  听风吹雨  阅读(10887)  评论(8编辑  收藏  举报

一、背景

其实在Windows下安装MySQL可谓是一件很简单的事情,只要对着安装界面点击下一步就行了!真的是这样嘛?也许在个人电脑可以这样安装,但是在服务器也是这么随便的?答案是否定的。

今天就针对Microsoft Windows Server 2003 R2 Enterprise x64 Edition Service Pack 2操作系统进行安装MySQL,为了配合64位的操作系统,我选用了64位的MySQL:mysql-5.5.22-winx64.msi这个MySQL版本。

这种通过操作界面来安装MySQL也是需要注意参数的设置的,所以这里给出一个范例,希望MySQL性能在安装的时候就得到基本的保障;(你没有安装过100次MySQL,那你就还不算入门,呵呵)

 

二、过程

MySQL有3种安装类型:Typical(经典安装)、Custom(定制安装)、Complete(完全安装)

 

 

(图1)

 

 

(图2)

 

 

(图3)

启用MySQL的配置向导(MySQL Configuration Wizard)

 

 

(图4)

 

 

(图5)

两种配置类型:

Detailed Configuration(详细配置)

Standard Configuration(标准配置)

 

 

(图6)

服务器类型:

Developer Machine(开发机器)、Server Machine(服务器)和Dedicated MySQL Server Machine(专用MySQL服务器)代表只运行MySQL服务的服务器,MySQL服务器配置成使用所有可用系统资源。

 

 

(图7)

存储引擎选择:

Multifunctal Database(多功能数据库)同时使用InnoDB和MyISAM存储引擎,并在两个引擎之间平均分配资源。

Transactional Database Only(只是事务处理数据库)同时使用InnoDB和MyISAM存储引擎,但是将大多数服务器资源指派给InnoDB存储引擎。建议主要使用InnoDB只偶尔使用MyISAM的用户选择该选项。

Non-Transactional Database Only(只是非事务处理数据库):该选项完全禁用InnoDB存储引擎,将书友服务器资源指派给MyISAM存储引擎。

 

 

(图8)

有些时候想要将InnoDB表空间文件放到不同的位置,而不放到MySQL服务器数据目录。

ibdata1

 

 

(图9)

并发连接设置:

Decision Support(决策支持)(DSS)/OLAP:并行连接数为20

Online Transaction Processing(联机事务处理)(OLTP)最大连接为500

Manual Setting(人工设置):

 

 

(图10)

联网选项设置:默认端口为3306,Add firewall exception for this port这是什么意思?

 

 

(图11)

选择服务器字符集:

Standard Character Set(标准字符集)Latin1作为默认服务器字符集,Latin1用于英语和许多西欧语言。

Best Support For Multilingualism(支持多种语言)UTF8作为默认服务器字符集

Manual Selected Default Character Set/Collation(人工选择的默认字符集/校对规则)

 

 

(图12)

要想将MySQL服务器安装为服务,但是不自动启动,不要选中Launch the MySQL Server Automatically

 

 

(图13)

允许远程通过root连接到服务器:Enable root access from remote machines

 

 

(图14)

 

三、注意事项

1.      安装的时候注意修改数据库端口,最好不要使用缺省的3306;

2.      在设置root密码的时候要尽量设置复杂一点点;

3.      尽量在本机安装SQLyog.Ultimate.v9.2.0.2.zip进行数据库的链接测试;

4.      如果系统使用比较多的存储引擎是InnoDB,那应该设置每个表一个文件:

a)     在my.ini的[mysqld]中添加:innodb_file_per_table=1

b)     重启MySQL服务;

c)      验证:SHOW VARIABLES LIKE '%per_table%';

在设置了之后创建的表才会把表的数据另外单独出一个文件:blog.ibd,与blog.frm表定义文件是一一对应的,这个数据文件是从ibdata1分离出来的;

5.      每个数据库都有db.opt这个文件,这个是关于数据库的性能记录?

6.      整个数据库有ib_logfile0与ib_logfile1,这两个是InnoDB的日志文件?需要设置日志大小?

 

四、参考文献

windows下mysql的安装