安装
MySQL安装一般分为源码包编译安装、分发包、rpm包安装和yum安装,四种安装方式有一些区别,对应的适用场景也不一样。
源码包:源码包就是程序源代码包,其中包含程序代码文件,这些代码文件是文本型,可以直接通过编辑器打开阅读内容,这里的程序还不能直接使用,因为操作系统和电脑无法直接调用文本代码,需要语言编译器将文本代码编译成二进制文件,编译完成的输出就是分发包。Windows系统安装软件时经常会出现一个自定义安装的选项,用户可以自主选择软件部分功能安装,取消安装不需要的组件,增加安装默认组件外的可选功能,在Linux系统上是通过编译参数控制软件自带功能的安装,稍后在编译安装MySQL时会举例说明。如果有C/C++语言功底我推荐网易研究院姜承尧的《MySQL内核:InnoDB存储引擎(卷1)》这本书,主要是对InnoDB存储引擎的功能实现分析。
分发包:分发包是通过源码包编译完成的软件,可以直接使用,像Windows系统中的软件绿色版,解压即可用,所以在上面罗列四中安装方式时只有分发包没有“安装”两字。由于在公司生产环境中可能会出现Linux服务器版本不同、底层c和c++等语言库版本不同,可以根据系统环境版本及稳定性的需要选择源码包编译安装,或直接使用分发包。源码包编译安装可以根据自己需要选择开启或关闭一些功能,分发包由于是已经编译好的,无法再进行选择和调整,除非使用源码包修改编译参数再编译。
rpm安装:rpm包安装不用编译,可以从MySQL官网下载rpm包。下载好rpm包后使用rpm命令安装,相比较源码包编译和分发包更简单。
yum安装:Linux系统的yum命令支持最简单、快捷的软件安装方式,当Linux系统联网且yum源配置好,可以使用“yum install”加软件包名就可以安装该软件以及相关所需要的环境软件,安装MySQL执行“yum install mysql-server mysql”即可(yum支持同时安装多个软件包,例如mysql-server和mysql实际在yum源中是两个部分,mysql-server是MySQL的服务端功能包,mysql是客户端功能包)。
对于上面提到的源码编译安装、分发包、rpm和yum安装下面会介绍更多,但是对于系统层面的“rpm”和“yum”命令可以去网上搜索了解更多。
官网下载
MySQL官方下载地址:http://dev.mysql.com/downloads/mysql/
在下载页面中:
“Select Platform”的“Source Code”是源码包
“Linux - Generic”是官方分发包
“Red Hat EnterPrise Linux/Oracle Linux”中下载rpm包
源码包编译安装
#需要先安装cmake,如果没有配置yum源可以编译安装(MySQL5.5以后需要cmake的编译环境)
[root@Centos6.3.2 ~]# yum -y install cmake.x86_64
#下载源码包(如果系统可以上网直接wget下载,如果是虚拟机可以在实体机下载好在虚拟机总使用“rz”命令或者实体机中的SecureFX上传)
[root@Centos6.3.2 ~]# cd /
[root@Centos6.3.2 ~]# wget http://cdn.mysql.com//Downloads/MySQL-5.5/mysql-5.5.48.tar.gz
#解压源码包
[root@Centos6.3.2 /]# tar -zxvf mysql-5.5..tar.gz
#进入源码包目录
[root@Centos6.3.2 /]# cd mysql-5.5.
#cmake源码参数
#注意参数“-DCMAKE_INSTALL_PREFIX=”控制MySQL源码编译完软件放置的路径,通常情况用户自主安装的软件放置在“/usr/local/”下
#参数“-DWITH_INNOBASE_STORAGE_ENGINE=1”说明开启InnoDB引擎
#参数“-DDEFAULT_CHARSET=utf8”说明默认使用的字符集为utf8(字符集不在这里解释)
#配置编译参数(编译参数很多,熟悉安装和MySQL功能后可以自己查询学习)
[root@Centos6.3.2 mysql-5.5.]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DWITH_MYISAM_STORAGE_ENGINE= -DWITH_INNOBASE_STORAGE_ENGINE= -DDEFAULT_CHARSET=utf8
#进行编译
[root@Centos6.3.2 mysql-5.5.]# make && make install
#编译完成后可以查看安装完成的软件如下
#bin路径下都是MySQL的命令,包含MySQL启动、停止、备份等命令
#include、lib等路径下都是MySQL底层编译完成的类库文件
#scripts下面有初始化MySQL的脚本,每个MySQL都需要初始化建立最基础的系统表及用户表(也可以使用相同版本的初始化文件在其他未初始化实例中使用,就可以省略执行初始化脚本)
[root@test1 mysql-5.5.]# ll /usr/local/mysql
total
drwxr-xr-x root root Oct : bin
-rw-r--r-- root root Mar COPYING
drwxr-xr-x root root Sep : data
drwxr-xr-x root root Sep : docs
drwxr-xr-x root root Sep : include
-rw-r--r-- root root Mar INSTALL-BINARY
drwxr-xr-x root root Sep : lib
drwxr-xr-x root root Sep : man
drwxr-xr-x root root Sep : mysql-test
-rw-r--r-- root root Mar README
drwxr-xr-x root root Oct : scripts
drwxr-xr-x root root Sep : share
drwxr-xr-x root root Sep : sql-bench
drwxr-xr-x root root Sep : support-files
上面编译完成后在/usr/local/mysql中的文件,基本就是分发包解压后的文件(由于编译参数不同,文件基本一样,但是文件内容存在差异)。
由于编译安装之后的操作过程与分发包后续操作基本相同,所以分发包使用的操作不单独说明,部分区别后续会与编译安装操作分开说明。
分发包下载地址:http://cdn.mysql.com//Downloads/MySQL-5.5/mysql-5.5.48-linux2.6-x86_64.tar.gz
分发包下载后可以直接放在/usr/local/路径下解压,也可以在别的路径下解压直接使用。
rpm安装
MySQL-client下载:http://cdn.mysql.com//Downloads/MySQL-5.5/MySQL-client-5.5.48-1.linux2.6.i386.rpm
MySQL-server下载:http://cdn.mysql.com//Downloads/MySQL-5.5/MySQL-server-5.5.48-1.linux2.6.i386.rpm
下载好rpm包后,使用rpm命令安装(rpm命令其他参数请自己查询学习)
[root@test /]# rpm -ivh MySQL-client-5.5.-.linux2..i386.rpm
[root@test /]# rpm -ivh MySQL-server-5.5.-.linux2..i386.rpm
如果没有报错就说明安装成功。
yum安装