技术开发 频道

主流行式数据库评测之开源MySQL5.5版本

  【IT168专稿】写在前面的话:在之前的文章中,我们已经评测了大部分主流的行业数据库软件,对其性能的优劣也做出了尽量客观的阐述,对此感兴趣的朋友可以搜索“数据库评测”来查看其他的评测文章。这里,我们将继续行式数据库的评测,在本篇文章中,将为大家评测MySQL 5.5,希望本篇评测文章能对MySQL DBA或是MySQL爱好者有所帮助。

  近年来,MySQL凭借其性能高、成本低、可靠性好等等特点已成为最流行的开源数据库,被广泛地应用在Internet上的中小型网站中。随着MySQL的不断成熟,它也逐渐用于更多大规模网站和应用,比如维基百科、Google和Facebook等网站。非常流行的开源软件组合LAMP中的“M”指的就是MySQL。

主流行式数据库评测之开源MySQL5.5版本

  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命令就可以安装成功了。

[root@redflag11012501 user1]# rpm -ev --nodeps 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
[root@redflag11012501 user1]# rpm -ivh My*
Preparing...                ###########################################
[100%]
  
1:MySQL-server           ########################################### [ 33%]

PLEASE REMEMBER
TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:

/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h redflag11012501 password 'new-password'

Alternatively you can run:
/usr/bin/mysql_secure_installation

which will also give you the
option of removing the test
databases
and anonymous user created by default.  This is
strongly recommended
for production servers.

See the manual
for more instructions.

Please report
any problems with the /usr/bin/mysqlbug script!

  
2:MySQL-client           ########################################### [ 67%]
  
3:MySQL-devel            ########################################### [100%]

  安装完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复制一份配置文件,针对有关的项目进行修改。

0
相关文章