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网站(sql)提供了关于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网站sql/downloads/下载最新稳定发行版的MySQL源码包。本文使用的是5.0.51版本,在linux系统下用下面的命令下载:
              wget mysql.mirror.kangaroot/Downloads/MySQL-5.0/mysql-5.0.
    3.1.3 解压缩下载的源码包
              首先建立一个工作目录( 笔者建议的目录为/usr/local/src/mysql ) :
              mkdir -p /usr/local/src/mysql
              将下载的源码包移至工作目录:
              mv  mysql-5.0.  /usr/local/src/mysql
              进入工作目录并用tar命令解压源码包:
              cd  /usr/local/src/mysql
              tar zxvf  mysql-5.0.
              命令执行结束后,当前工作目录下将生成一个新的子目录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、g
b2312、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 安装
    执行下面的命令安装mysql到目标路径:
    make install
    3.1.7 复制默认全局启动参数配置文件到/etc目录
              源码方式安装需要手动复制配置文件,配置模板位于源码树的support-files目录,有my-smallf、my-mediumf、my-largef、my-hugef四个,选择跟你的环境相接近的一个复制到/etc目录,并做适当修改。关于mysql配置文件的详细信息请参阅笔者的其它文章或是mysql官方文档。
              本文示例选择my-mediumf,执行下面的命令将其复制到/etc目录:
              cp ./support-files/my-mediumf  /etc/myf
    3.1.8 初始化授权表
              执行下面的命令初始化授权表:
    ./scripts/mysql_install_db --user=mysql
    3.1.9 更改mysql数据目录属主和权限
              默认数据库文件保存目录为安装目录下的var目录,执行configure命令时可通过--localstatedir参数指定不同的目录,本文示例为默认位置。
              chown -sql /usr/local/mysql/var
              chmod -R 700 /usr/local/mysql/var
    3.1.10 设置开机自启动服务控制脚本
              执行下面的命令复制启动脚本到资源目录:
mysql下载完如何使用
              cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
              执行下面的命令增加mysqld服务控制脚本执行权限:
              chmod +x /etc/rc.d/init.d/mysqld

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。