?
?
转自:http://www.entage.net/1/viewspace-25420
1. 关于本文
??? 本文将以MySQL 5.0.51为例,以CentOS 5为平台,讲述MySQL数据库的安装和设置。
2. 关于MySQL
??? MySQL是最流行的开源SQL数据库管理系统,它由MySQL AB开发、发布和支持。MySQL AB是一家由MySQL开发人员创建的商业公司,它是一家使用了一种成功的商业模式来结合开源价值和方法论的第二代开源公司。MySQL是MySQL AB的注册商标。
??? MySQL是一个快速的、多线程、多用户和健壮的SQL数据库服务器。MySQL服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置(mass-deployed)的软件中去。
MySQL的官方发音是“My Ess Que Ell”,而不是“My sequel”。但是你也可以使用“My sequel”和其他的方言。
??? MySQL网站(http://www.mysql.com)提供了关于MySQL和MySQL AB的最新的消息。
??? MySQL具有如下特点或特性:
MySQL是一个数据库管理系统;
MySQL是一个关系数据库管理系统;
MySQL是开源的;
MySQL服务器是一个快的、可靠的和易于使用的数据库服务器;
MySQL服务器工作在客户/服务器或嵌入系统中;
有大量的MySQL软件可以使用。
3. MySQL的安装
MySQL有两种安装方式:源码包安装和二进制包安装。这两种方式各有特色:二位制包安装不需编译,针对不同的平台有经过优化编译的不同的二进制文件以及包格式,安装简单方便;源码包则必须先配置编译再安装,可以根据你所用的主机环境进行优化,选择最佳的配置值,安装定制更灵活。下面分别介绍这两种安装方式。
3.1 源码包方式安装
????3.1.1 在linux系统中添加运行Mysql的用户和组
????????????? /usr/sbin/groupadd mysql
????????????? /usr/sbin/useradd -d /var/lib/mysql -s /sbin/nologin -g mysql mysql???????????
??? 3.1.2 下载最新稳定发行版(GA)的MySQL软件
??????????????访问MySQL网站http://dev.mysql.com/downloads/下载最新稳定发行版的MySQL源码包。本文使用的是5.0.51版本,在linux系统下用下面的命令下载:
????????????? wget?http://mysql.mirror.kangaroot.net/Downloads/MySQL-5.0/mysql-5.0.51.tar.gz
??? 3.1.3 解压缩下载的源码包
????????????? 首先建立一个工作目录( 笔者建议的目录为/usr/local/src/mysql )?:
??????????????mkdir -p /usr/local/src/mysql
????????????? 将下载的源码包移至工作目录:
????????????? mv??mysql-5.0.51.tar.gz? /usr/local/src/mysql
??????????????进入工作目录并用tar命令解压源码包:
????????????? cd? /usr/local/src/mysql
????????????? tar zxvf? mysql-5.0.51.tar.gz?
??????????????命令执行结束后,当前工作目录下将生成一个新的子目录mysql-5.0.51,此目录下即为mysql的源码文件。
??? 3.1.4 配置Makefile文件
????????????? 进入MySQL源码目录:
??????????????cd?mysql-5.0.51
????????????? 执行下面的命令可查看可配置选项:
./configure --help
??????????????本文使用的配置命令格式如下:
????????????? CC=gcc CFLAGS="-O3" CXX=gcc CXXFLAGS="-O3 -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql?--enable-thread-safe-client --enable-assembler --with-big-tables --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static? --with-charset=utf8 --with-collation=utf8_general_ci?--with-extra-charsets=complex?
??????????????配置选项说明:
????????????? CC:C编译器的名称(用于运行configure),本文示例为gcc
????????????? CFLAGS:C编译器的标志(用于运行configure),本文示例为-O3,指定优化级别为3
????????????? CXX:C++编译器的名称(用于运行configure),本文示例为gcc
????????????? CXXFLAGS:C++编译器的标志(用于运行configure)
--prefix:指定安装目录,本文示例为/usr/local/mysql
????????????? --localstatedir:指定默认数据库文件保存目录,默认为安装目录下的var目录
? --enable-thread-safe-client:编译线程安全版的MySQL客户端库
--enable-assembler:使用一些字符函数的汇编版本
????????????? --with-client-ldflags:客户端链接参数,本文示例为指定静态编译mysql客户端
--with-mysqld-ldflags:服务器端链接参数,本文示例为指定静态编译mysql服务器
????????????? --with-big-tables:在32位平台上支持大于4G行的表
--with-charset:指定默认字符集。mysql默认使用latin1(cp1252)字符集,可以使用此选项更改。字符集可以是big5、cp1251、cp1257、czech、danish、dec8、dos、euc_kr、gb2312、gbk、german1、hebrew、hp8、hungarian、koi8_ru、koi8_ukr、latin1、latin2、sjis、swe7、tis620、ujis、usa7或win1251ukr。
????????????? --with-collation:指定默认校对规则。mysql默认使用latin1_swedish_ci校对规则,可以使用此选项更改。
--with-extra-charsets:服务器需要支持的字符集,有三种可能的值:空格间隔的一系列字符集名;complex ,包括不能动态装载的所有字符集;all,将所有字符集包括进二进制。本文示例为complex。
注意:要想更改字符集和校对规则,要同时使用--with-charset和--with-collation选项。 校对规则必须是字符集的合法校对规则。(在mysql中使用SHOW COLLATION语句来确定每个字符集使用哪个校对规则)。
??? 3.1.5 编译源代码
执行下面的命令编译源代码:
make
??? 3.1.6?安装