确认你的安装版本
下载MySQL
安装MySQL
准备安装环境
编译和安装
配置MySQL
单实例配置
单实例配置方法
添加防火墙
启动MySQL
重启MySQL
多实例配置
什么是多实例
多实例配置方法
创建启动文件
初始化数据库
配置防火墙
启动MySQL
登陆MySQL
重启MySQL
准备工作
运行环境
本文的运行环境如下
系统版本
CentOS7最小化安装:
Linux version 3.10.0-123.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.2 20140120 (Red Hat 4.8.2-16) (GCC) ) #1 SMP Mon Jun 30 12:09:22 UTC 2014
mysql版本
mysql-5.6.25
确认你的安装版本
mysql分为开发版本和稳定版本(GA),开发版本拥有最新的特性,但是并不稳定,也没有完全经过测试,可能存在严重的bug,而稳定版本是经过了长时间的测试,消除了具有已知的bug,其稳定性和安全性都得到一定的保障。
对于一个mysql的版本号如:mysql-5.6.1-m1,这个版本号意味着什么呢?
1.对于5.6.1的解释:第一个数字5代表了文件格式,第二个数字6代表了发行级别,第三个数字1代表了版本号。更新幅度较小时,最后的数字会增加,出现了重大特性更新时,第二个数字会增加,文件格式改变时,第一个数字会增加
2.对于m1的解释:这是用来表明这个mysql版本的稳定性级别的,如果没有这个后缀,那么这个版本就是一个稳定版(GA);如果这个后缀是mN(例如m1,m2)格式,表明了这个版本加入了一些经过彻底测试的新特性,可以认为这是一个试生产的模具;如果这个后缀是rc,表明了这是一个候选版本,已经修改了已知的重要bug,但是没有经过足够长时间的使用来确认所有的bug已经被修复。
一旦选择了版本号,就要选择使用哪个发行版,你可以使用二进制发行版如RPM包或Zip压缩包等,但是如果你要实现如下的功能,就要选择源码安装(本文正是选择源码安装的方式):
1.l把mysq安装到指定位置
2.l使用mysql的一些特性(标准的二进制版本中并没有这些特性)如:TCP封包支持,调试mysql
3.二进制版本中默认支持所有的字符集,但你可以在编译安装源码时指定字符集,从而使得安装的mysql更小
下载mysql
我选择的是这个:
下载完后需要检查文件的MD5,以确认是否从官网下载的原版本(以防被人篡改过该软件)
我从windows下载后上传到linux后,使用md5sum命令来检查:
[root@localhost src]# md5sum mysql-5.6.25.tar.gz
37664399c91021abe070faa700ecd0ed mysql-5.6.25.tar.gz
可以看出,与上图中的MD5是一致的,如果不一致,就要更换一个镜像地址来下载mysql。
安装mysql
准备安装环境
首先检查是否已经安装过mysql:
[root@localhost src]# rpm -qa | grep mysql
有的话就卸载掉以前安装的mysql:
[root@localhost src]# rpm -e --nodeps xxx(xxx是搜索结果)
并删除所有的相关文件:
/etc/my.cnf
编译和安装
安装编译代码所需要的包
[root@localhost src]# yum -y install make gcc-c++ cmake bison-devel ncurses-devel libaio
[root@localhost src]# yum install libaio libaio-devel -y
[root@localhost src]# yum install perl-Data-Dumper -y
[root@localhost src]# yum install net-tools -y
解压安装包并编译安装
[root@localhost src]# tar xvf mysql-5.6.25.tar.gz
[root@localhost src]# cd mysql-5.6.25
[root@localhost mysql-5.6.25]#cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
编译成功
[root@localhost src]# make && make install
至此,mysql安装完成
配置mysql
检查系统是否已经有mysql用户,如果没有则创建
[root@localhost mysql-5.6.25]# cat /etc/passwd | grep mysql
[root@localhost mysql-5.6.25]# cat /etc/group | grep mysql
创建mysql用户(但是不能使用mysql账号登陆系统)
[root@localhost mysql-5.6.25]# groupadd mysql -s /sbin/nologin
[root@localhost mysql-5.6.25]# useradd -g mysql mysql
修改权限
[root@localhost mysql-5.6.25]# chown -R mysql:mysql /usr/local/mysql
至此,mysql安装完毕
下面有两种配置方式,推荐按照多实例配置的方式
单实例配置
单实例配置方法
进入安装路径
[root@localhost mysql-5.6.25]# cd /usr/local/mysql
进入安装路径,执行初始化配置脚本,创建系统自带的数据库和表
[root@localhost mysql]# scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql