Linux LAMP Mysql 部分补全
AssoonPro
|
1#
AssoonPro 发表于 2007-08-02 15:33
Linux LAMP Mysql 部分补全
一、MySQL介绍
MySQL 是最流行的开放源码SQL 数据库管理系统,它是由MySQL AB 公司开发、发布并支持的。MySQL AB 是由多名MySQL 开发人创办的一家商业公司。它是一家第二代开放源码公司,结合了开放源码价值取向、方法和成功的商业模型。在MySQL 的网站(http://www.mysql.com/)上,给出了关于MySQL 和MySQL的最新信息。 MySQL 可以安装在Windows、Linux、FreeBSD 和Sun Solaris 等系统上。在本课程中,如果不特别说明,凡是涉及到MySQL 的部分都是在Linux 平台下。 二、常见版本 准备安装MySQL 时,你应确定使用哪个版本。MySQL 的开发有几个发布系列,可以选择最适合你要求的一个版本。确定了安装的版本后,便可以选择分发版。有二进制或源码发布格式。在MySQL 开发过程中,同时存在多个发布系列,每个发布处在成熟度的不同 阶段: · MySQL 5.1 是最新开发的发布系列,是将执行新功能的系列。不久的将来可 以使用Alpha 发行,以便感兴趣的用户进行广泛的测试。 · MySQL 5.0 是当前稳定(产品质量)发布系列。只针对漏洞修复重新发布;没 有增加会影响稳定性的新功能。 · MySQL 4.0 和3.23 是旧的稳定(产品质量)发布系列。该版本不再使用,新的发布只用来修复特别严重的漏洞(以前的安全问题)。 通常, 如果你是第一次开始使用MySQL 或想要将它移植到一些还没有二进制分发版的系统上,我们推荐使用最终的稳定版本。目前是MySQL 5.0。对于早期版本和当前版本来讲,主要是内部机制和SQL 方面的扩展。在本课程中介绍的方法和内容,对3.23 之后的版本通用。 MySQL 的命名机制使用3 个数字和一个后缀组成的版本号。例如 mysql-5.0.9-beta 的版本号这样解释: ·第1 个数字(5)是主版本号,描述了文件格式。所有版本5 的发行都有相同的文件格式。 ·第2 个数字(0)是发行级别。主版本号和发行级别组合到一起便构成了发行序列号。 ·第3 个数字(9)是在此发行系列的版本号,随每个新分发版递增。通常你需要已经选择的发行(release)的最新版本(版本)。后缀显示发行的稳定性级别。通过一系列后缀显示如何改进稳定性。可能的后 缀有: · alpha 表明发行包含大量未被彻底测试的新代码。已知的缺陷应该在新闻小节被记录。请参见附录D:MySQL 变更史。在大多数alpha 版本中也有新的命令和扩展。alpha 版本也可能有主要代码更改等开发。但我们在发布前一定对其进行测试。 · beta 意味着该版本功能是完整的,并且所有的新代码被测试了,没有增加重要的新特征,应该没有已知的缺陷。当alpha 版本至少一个月没有出现报导的致命漏洞,并且没有计划增加导致已经实施的功能不稳定的新功能时,版本则从alpha版变为beta 版。在以后的beta 版、发布版或产品发布中,所有API、外部可视结构和SQL 命令列均不再更改。 · rc 是发布代表;是一个发行了一段时间的beta 版本,看起来应该运行正常。只增加了很小的修复。(发布代表即以前所称的gamma 版) · 如果没有后缀,这意味着该版本已经在很多地方运行一段时间了,而且没有非平台特定的缺陷报告。只增加了关键漏洞修复修复。这就是我们称为一个产品(稳定)或“通用”版本的东西。 三、安装及调试 1.下载软件: 创建存放软件的目录: mkdir /backup/software (可以存放在任何自己想存放的目录) 到http://dev.mysql.com/Downloads/ 下载最新稳定版的源代码, 放到 /backup/software。 本文中下载的是:mysql-5.0.28.tar.gz 2.解压软件: tar -zxvf mysql-5.0.25.tar.gz 3.进入源代码目录: cd mysql-5.0.25 4.创建MySQL 的运行用户 groupadd mysql adduser -g mysql mysql 5.配置编译选项: ./configure \ --prefix=/opt/mysql \ --with-unix-socket-path=/opt/mysql/tmp/mysql.sock \ --localstatedir=/opt/mysql/database/mysql_data \ --enable-assembler \ --with-mysqld-ldflags=-all-static \ --with-mysqld-user=mysql 编译选项说明: --prefix=/opt/mysql:将所有文件安装到/opt/mysql 目录下 --with-unix-socket-path=/opt/mysql/tmp/mysql.sock : 指定MySQL 的 Unix socket 文件存放的目录。 --localstatedir=/opt/mysql/database/mysql_data 指定mysql 的日志存放位置和数据库位置。 --enable-assembler:允许使用汇编模式(优化性能) --with-mysqld-ldflags=-all-static:服务器使用静态库(优化性能) --with-mysqld-user=mysql:指定MySQL 的运行用户。 其它常用编译选项说明: --without-server:仅编译安装客户端工具。 --with-client-ldflags=-all-static:客户端使用静态库。 --with-charset=CHARSET:指定MySQL 使用的默认字符集。CHARSET 可以是: 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。如果不指定,默认使用latin1。 如果你需要其它选项, 请使用./configure --help 查看或参看文档 http://dev.mysql.com/doc/mysql/en/configure-options.html 7.编译: make 8.安装: make install 9.拷贝MySQL 的配置文件到/etc 目录下 cp support-files/my-medium.cnf /etc/my.cnf 初始化数据库: cd /opt/mysql mkdir –p /opt/mysql/database/mysql_data bin/mysql_install_db --user=mysql (生成mysql.sock) chown -R root /opt/mysql(将软件的安装目录拥有者改为root 用户) chown -R mysql /opt/mysql/database/mysql_data(将存放数据库的目录拥有者改为 mysql 用户) chgrp -R mysql /opt/mysql(将软件的安装目录属组改为mysql 组) 10.启动数据库服务: /opt/mysql/bin/mysqld_safe --user=mysql & 11.设置环境变量: 如果要使用本地的客户端工具,并且不想每次都输入完整路径,就需要设置 PATH 变量。 export PATH=$PATH:/opt/mysql/bin 12.测试: 执行/opt/mysql/bin/mysql,出现如下提示符 [root@vfast mysql]# /opt/mysql/bin/mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.0.28-log Source distribution Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> 执行show databases,显示当前系统内的数据库,出现如下提示: mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | test | +--------------------+ 3 rows in set (0.01 sec) 13.启动脚本(使系统启动时自动启动MySQL 数据库服务): 在Linux 系统下: 在/etc/rc.local 文件内添加下面的行: /opt/mysql/bin/mysqld_safe --user=mysql& 14.MySQL 的启动和停止脚本 如果不想使用13 步中的方法来在系统启动时自动启动MySQL 服务,也可以使 用MySQL 提供的脚本: [root@vfast mysql-5.0.28]# cp support-files/mysql.server /etc/init.d/MySQL [root@vfast mysql-5.0.28]# chmod 755 /etc/init.d/MySQL [root@vfast mysql-5.0.28]# chkconfig --add MySQL |