MySQL的三种安装方式

安装MySQL的方式常见的有三种:

  • rpm包形式
  • 通用二进制形式
  • 源码编译

1,rpm包形式

(1) 操作系统发行商提供的

(2) MySQL官方提供的(版本更新,修复了更多常见BUG)www.mysql.com/downloads

关于MySQL中rpm包类型的介绍:

  1. MySQL-client        客户端组件
  2. MySQL-debuginfo      调试MySQL的组件
  3. MySQL-devel          想针对于MySQL编译安装PHP等依赖于MySQL的组件包
  4. MySQL-embedded      MySQL的嵌入式版本
  5. MySQL-server        共享库
  6. MySQL-shared        共享库
  7. MySQL-shared-dompat  为了兼容老版本的共享库
  8. MySQL-test          MySQL的测试组件(在线处理功能)

安装方法:

首先可以从安装光盘中或者到mysql的网站上下载对应版本的rpm包如下:

  1. MySQL-server-community-5.5.28-1.rhel5.i386.rpm
  2. MySQL-client-community-5.5.28-1.rhel5.i386.rpm

接着我们可以使用rpm命令进行安装:

  1. rpm -ivh MySQL-server-community-5.5.28-1.rhel5.i386.rpm
  2. rpm -ivh MySQL-client-community-5.5.28-1.rhel5.i386.rpm

补充一点:

  1. -h 使用符号#显示安装进度
  2. -v 报告每一步操作的情况

注意:上面是运用下载好的离线rpm包安装,如果linux能连接外网,可以下载个几k大小的索引rpm包,然后运用yum源安装,我有次试验在centos7.0上安装mysql 5.6.26,yum源上需要尝试多次包,以前的几个版本应该能短些.

2,通用二进制包

(1)新建用户以安全方式运行进程:

  1. # groupadd -r mysql
  2. # useradd -g mysql -r -s /sbin/nologin -M -d /mydata/data mysql
  3. # chown -R mysql:mysql /mydata/data

(2)安装并初始化mysql-5.5.28

首先下载平台对应的mysql版本至本地,这里是32位平台,因此,选择的为mysql-5.5.28-linux2.6-i686.tar.gz

  1. # tar xf mysql-5.5.28-linux2.6-i686.tar.gz -C /usr/local
  2. # cd /usr/local/
  3. # ln -sv mysql-5.5.28-linux2.6-i686 mysql
  4. # cd mysql
  5. # chown -R mysql:mysql .
  6. # scripts/mysql_install_db --user=mysql--datadir=/mydata/data
  7. # chown -R root .

(3)为mysql提供主配置文件:

  1. # cd /usr/local/mysql
  2. # cp support-files/my-large.cnf /etc/my.cnf

(4)修改配置文件:

  1. 修改此文件中thread_concurrency的值为你的CPU个数乘以2,比如这里使用如下行:
  2. thread_concurrency = 2
  3. 另外还需要添加如下行指定mysql数据文件的存放位置:
  4. datadir = /mydata/data

(5)为mysql提供sysv服务脚本:

  1. # cd /usr/local/mysql
  2. # cp support-files/mysql.server /etc/rc.d/init.d/mysqld

(6)添加至服务列表:

  1. # chkconfig --add mysqld
  2. # chkconfig mysqld on

(7)而后就可以启动服务测试使用了。

# service mysqld start

注意:linux下非源码安装mysql的默认目录结构如下示:


3,源码编译

(安装编译方式有点改变,配置过程无太大变动,所以后面不详细介绍各个步骤了)

若想在5.0系列的红帽系统上进行源码编译安装MySQL必须借助一个跨平台编译器cmake

所以:

(1)首先安装cmake

安装cmake需要用make

  1. # tar xf cmake-2.8.8.tar.gz
  2. # cd cmake-2.8.8
  3. # ./bootstrap 使用此脚本来检测编译环境
  4. # make
  5. # make install

(2)编译安装mysql-5.5.28

使用cmake编译mysql-5.5.28,选项的方式有所改变简单介绍一下。。。

cmake指定编译选项的方式不同于make,其实现方式如下:

  1. cmake .
  2. cmake . -LH 或 ccmake . 查找可以使用的相关选项

指定安装文件的安装路径时常用的选项:

  1. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql 指定安装路径
  2. -DMYSQL_DATADIR=/data/mysql 数据安装路径
  3. -DSYSCONFDIR=/etc 配置文件的安装路径

由于MySQL支持很多的存储引擎而默认编译的存储引擎包括:csv、myisam、myisammrg和heap。若要安装其它存储引擎,可以使用类似如下编译选项:

  1. -DWITH_INNOBASE_STORAGE_ENGINE=1 安装INNOBASE存储引擎
  2. -DWITH_ARCHIVE_STORAGE_ENGINE=1 安装ARCHIVE存储引擎
  3. -DWITH_BLACKHOLE_STORAGE_ENGINE=1 安装BLACKHOLE存储引擎
  4. -DWITH_FEDERATED_STORAGE_ENGINE=1 安装FEDERATED存储引擎

若要明确指定不编译某存储引擎,可以使用类似如下的选项:

  1. -DWITHOUT_<ENGINE>_STORAGE_ENGINE=1
  2. 比如:
  3. -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 不启用或不编译EXAMPLE存储引擎
  4. -DWITHOUT_FEDERATED_STORAGE_ENGINE=1
  5. -DWITHOUT_PARTITION_STORAGE_ENGINE=1

如若要编译进其它功能,如SSL等,则可使用类似如下选项来实现编译时使用某库或不使用某库:

  1. -DWITH_READLINE=1
  2. -DWITH_SSL=system 表示使用系统上的自带的SSL库
  3. -DWITH_ZLIB=system
  4. -DWITH_LIBWRAP=0

其它常用的选项:

  1. -DMYSQL_TCP_PORT=3306 设置默认端口的
  2. -DMYSQL_UNIX_ADDR=/tmp/mysql.sock MySQL进程间通信的套接字的位置
  3. -DENABLED_LOCAL_INFILE=1 是否启动本地的LOCAL_INFILE
  4. -DEXTRA_CHARSETS=all 支持哪些额外的字符集
  5. -DDEFAULT_CHARSET=utf8 默认字符集
  6. -DDEFAULT_COLLATION=utf8_general_ci 默认的字符集排序规则
  7. -DWITH_DEBUG=0 是否启动DEBUG功能
  8. -DENABLE_PROFILING=1 是否启用性能分析功能

如果想清理此前的编译所生成的文件,则需要使用如下命令:

  1. make clean
  2. rm CMakeCache.txt

编译安装

  1. # tar xf mysql-5.5.28.tar.gz
  2. # cd mysql-5.5.28
  3. # groupadd -r mysql
  4. # useradd -g -r mysql mysql
  5. # mkdir -pv /data/mydata
  6. # chown -R mysql:mysql /data/mydata
  7. # cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-DMYSQL_DATADIR=/data/mydata-DSYSCONFDIR=/etc-DWITH_INNOBASE_STORAGE_ENGINE=1-DWITH_ARCHIVE_STORAGE_ENGINE=1-DWITH_BLACKHOLE_STORAGE_ENGINE=1-DWITH_READLINE=1-DWITH_SSL=system-DWITH_ZLIB=system-DWITH_LIBWRAP=0-DMYSQL_UNIX_ADDR=/tmp/mysql.sock-DDEFAULT_CHARSET=utf8-DDEFAULT_COLLATION=utf8_general_ci
  8. # make
  9. # make install
  10. # cd /usr/local/mysql
  11. # chown -R :mysql . 更改属组
  12. # scripts/mysql_install_db --user=mysql--datadir=/data/mydata/ 指定数据存放位置
  13. # cp support-files/my-large.cnf /etc/my.cnf 创建配置文件

   注意:上面12步时本人安装时出现很奇怪的问题:
  error:Found option without preceding group in config file: /data0/mysql/3306/my.cnf
 网上查了原因是由于复制my.cnf 内容的时候utf-8 编码格式导致 cnf 文件中 [client] 成了ent],其实配置文件中没有多少内容,就一个base_dir和data_dir,我将本地windows下的配置文件那两个选项替换了下,然后重新创建了个新的配置文件就好了.

编辑配置文件

  1. #vim /etc/my.cnf

  2. 添加如下行指定mysql数据文件的存放位置:
  3. datadir = /mydata/data

创建执行脚本和启动服务

  1. # cp support-files/mysql.server /etc/rc.d/init.d/mysqld 复制脚本
  2. # chmod +x /etc/rc.d/init.d/mysqld 执行权限
  3. # chkconfig -add mysql 添加到服务列表中
  4. # service mysqld start 启动服务
  5. # bin/mysql 启动mysql

 

(啰嗦一句:MySQL的版本有两种一种为社区版,一种是企业版。所以在选择上要注意授权不要违反了授权)


你可能感兴趣的:(源码,mysql,二进制,rpm)