写在前面的话:在之前的文章中,我们已经评测了大部分主流的行业数据库软件,对其性能的优劣也做出了尽量客观的阐述,对此感兴趣的朋友可以搜索“数据库评测”来查看其他的评测文章。这里,我们将继续行式数据库的评测,在本篇文章中,将为大家评测MySQL 5.5,希望本篇评测文章能对MySQL DBA或是MySQL爱好者有所帮助。
近年来,MySQL凭借其性能高、成本低、可靠性好等等特点已成为最流行的开源数据库,被广泛地应用在Internet上的中小型网站中。随着MySQL的不断成熟,它也逐渐用于更多大规模网站和应用,比如维基百科、Google和Facebook等网站。非常流行的开源软件组合LAMP中的“M”指的就是MySQL。
MySQL支持Windows、Linux、Solaris、Mac OS X和FreeBSD等操作系统平台。版本包括免费开源的Community版(社区版)和收费的Enterprise版(企业版)。第一个比较成熟的版本是2001年推出的3.23版,以后依次是4.0(增加了union)、4.1(增加了子查询)、5.0(增加了游标、存储过程、视图)、5.1(增加了分区),由于Oracle公司收购了事务存储引擎innodb公司,导致Sun收购MySQL后在2009年曾经推出6.0 alpha版和新的存储引擎Falcon,在Oracle收购Sun后,6.0版已停止开发,版本号6和7目前专属于MySQL Cluster高可用版本,当前主流(GA)的版本是5.1和2010年推出的5.5(默认存储引擎innodb),本文就是基于MySQL 5.5版展开评测的。
MySQL的可插拔存储引擎架��允许第3方厂商利用自行开发的存储引擎和MySQL进行捆绑,从而简化了开发流程并把关注点着重于特定功能的开发,以前列式数据库系列介绍过的Infobright和Calpont都是这一类产品。
一、数据库安装
MySQL在其官方网站http://dev.mysql.com/上提供了各种版本的下载,这些版本的界面语言都是英语,但通过选择字符集,可以处理简体中文数据。MySQL 5.5社区版(进入下载)没有任何限制,提供了完整的源代码。
MySQL的产品安装中提供了英文联机帮助文档,同时在网站http://dev.mysql.com/doc/refman/5.5/en/提供在线浏览。http://dev.mysql.com/doc/也有部分其它语言的文档,但简体中文只有5.1版的。建议下载http://downloads.mysql.com/docs/refman-5.5-en.a4.pdf,制作精美,具备搜索功能。
�� 本次测试基于Intel Xeon 7550*8的PC服务器上用VMWare VSphere 4.1管理的虚拟机,虚拟机的逻辑 CPU个数是8,内存100GB,存储为8个300GB SAS本地磁盘,采用一块512M缓存RAID卡,按RAID5方式组成磁盘阵列。操作系统采用和RHEL 5相同的核心级别的RedFlag Asian Linux Sever 3.0 x64。��此选用的安装文件是Red Hat & Oracle Enterprise Linux 5 (x86, 64-bit), RPM Package版本,与多数数据库软件不同,MySQL的安装文件是按照功能模块分别打包的,通常情况下,只需要下载安装Server和client二个rpm包就能够正常运行和访问MySQL数据库了,devel模块包括编译用到的库文件和include文件,如果需要编译自己的访问MySQL模块,则也需要安装。我们这里安装这3个文件,总大小大约75MB。
安装步骤如下:
1.安装前准备工作
文档中介绍安装MySQL前,首先要创建mysql用户和组,但作为一款广受欢迎的软件,很多Linux发行版中都默认安装了MySQL, RedFlag Linux也不例外,因此,建用户的步骤可以忽略。
但正因为系统中已经安装过mysql,直接安装MySQL5.5报冲突:
[root@redflag11012501 user1]# ll My*
-rw-r--r-- 1 root root 18191603 06-02 17:46 MySQL-client-5.5.13-1.rhel5.x86_64.rpm
-rw-r--r-- 1 root root 3817269 06-02 17:47 MySQL-devel-5.5.13-1.rhel5.x86_64.rpm
-rw-r--r-- 1 root root 53626402 06-02 17:39 MySQL-server-5.5.13-1.rhel5.x86_64.rpm
[root@redflag11012501 user1]# rpm -ivh My*
error: Failed dependencies:
MySQL-devel conflicts with mysql-devel-5.0.77-4.2.1.AXS3.x86_64
MySQL-devel conflicts with mysql-devel-5.0.77-4.2.1.AXS3.i386
MySQL conflicts with mysql-5.0.77-4.2.1.AXS3.x86_64
MySQL conflicts with mysql-5.0.77-4.2.1.AXS3.i386
MySQL-server conflicts with mysql-server-5.0.77-4.2.1.AXS3.x86_64
原来系统自带的MySQL是5.0版本的,那么首先卸载这个版本的几个冲突文件,仍然有问题,这些文件还被其它的文件,主要是连接MySQL的一些模块所引用。
[root@redflag11012501 user1]# rpm -ev mysql-server-5.0.77-4.2.1.AXS3.x86_64 mysql-5.0.77-4.2.1.AXS3.x86_64 mysql-devel-5.0.77-4.2.1.AXS3.x86_64 mysql-5.0.77-4.2.1.AXS3.i386 mysql-devel-5.0.77-4.2.1.AXS3.i386
error: Failed dependencies:
libmysqlclient.so.15()(64bit) is needed by (installed) php-mysql-5.1.6-27.0.1.AXS3.x86_64
libmysqlclient.so.15()(64bit) is needed by (installed)
...
libmysqlclient.so.15(libmysqlclient_15)(64bit) is needed by (installed) dovecot-1.0.7-7.1AXS3.x86_64
...
libmysqlclient_r.so.15()(64bit) is needed by (installed) mysql-connector-odbc-3.51.26r1127-1.AXS3.x86_64
...
mysql is needed by (installed) MySQL-python-1.2.1-1.x86_64
mysql is needed by (installed) libdbi-dbd-mysql-0.8.1a-1.2.2.x86_64
mysql is needed by (installed) postfix-2.3.3-2.9AXS3.x86_64
mysql = 5.0.77-4.2.1.AXS3 is needed by (installed) mysql-bench-5.0.77-4.2.1.AXS3.x86_64
mysql is needed by (installed) freeradius-mysql-1.1.3-1.6.AXS3.x86_64
libmysqlclient.so.15 is needed by (installed) cyrus-sasl-sql-2.1.22-5.AXS3.3.i386
libmysqlclient.so.15(libmysqlclient_15) is needed by (installed) cyrus-sasl-sql-2.1.22-5.AXS3.3.i386
因为不知道这些引用MySQL的文件又被那些文件使用,为了简化操作,使用rpm命令的nodeps参数强制卸载。卸载完成后再用rpm -ivh命令就可以安装成功了。
安装完server包后,系统给出提示信息要求修改MySQL的root用户口令来保证数据库安全。这里我们仅仅用于测试,就不设置root口令了。
安装程序给出的提示信息相当有限,实际上,它将软件的不同部分安装到了如下目录。
安装完MySQL软件后服务器默认没有启动,需要用命令启动。启动的命令有多种,其中一种是用service 服务名 start启动。启动服务器后,就可以用mysql命令行工具连接了。
[root@redflag11012501 user1]# service mysql start
Starting MySQL..[确定]
[root@redflag11012501 user1]# mysql -uroot
mysql: Unknown OS character set 'GB18030'.
mysql: Switching to the default character set 'latin1'.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.5.13 MySQL Community Server (GPL)
Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
使用rpm方式安装的MySQL,是不包含my.cnf配置文件的,可能在数据库文件存储位置、内存使用等方面不符合需要,因此我们需要定制配置文件,方法是从/usr/share/mysql复制一份配置文件,针对有关的项目进行修改。