文章目录
原文链接:原作者博客网址
一、确认MySQL安装版本
mysql分为开发版本和稳定版本(GA),开发版本拥有最新的特性,但是并不稳定,也没有完全经过测试,可能存在严重的bug,而稳定版本是经过了长时间的测试,消除了具有已知的bug,其稳定性和安全性都得到一定的保障。
对于一个mysql的版本号如:mysql-5.6.1-m1,这个版本号意味着什么呢?
- 对于5.6.1的解释:第一个数字5代表了文件格式,第二个数字6代表了发行级别,第三个数字1代表了版本号。更新幅度较小时,最后的数字会增加,出现了重大特性更新时,第二个数字会增加,文件格式改变时,第一个数字会增加。
- 对于m1的解释:这是用来表明这个mysql版本的稳定性级别的,如果没有这个后缀,那么这个版本就是一个稳定版(GA);如果这个后缀是mN(例如m1,m2)格式,表明了这个版本加入了一些经过彻底测试的新特性,可以认为这是一个试生产的模具;如果这个后缀是rc,表明了这是一个候选版本,已经修改了已知的重要bug,但是没有经过足够长时间的使用来确认所有的bug已经被修复。
一旦选择了版本号,就要选择使用哪个发行版,你可以使用二进制发行版如rpm包或zip压缩包等,但是如果你要实现如下的功能,就要选择源码安装(本文正是选择源码安装的方式):
- 把mysq安装到指定位置
- 使用mysql的一些特性(标准的二进制版本中并没有这些特性)如:TCP封包支持,调试mysql
- 二进制版本中默认支持所有的字符集,但你可以在编译安装源码时指定字符集,从而使得安装的mysql更小
二、MySQL下载
以下载MySQL 5.6为例:
官网下载地址:下载链接
(建议使用谷歌浏览器)
具体下载见下图1-1、图1-2
图1-1 官网选择下载的版本
图1-2 点击下载
三、卸载原有的Mysql或Mariadb安装程序
1、卸载原有的Mariadb
CentOS 7版本默认情况下安装了mariadb-libs,必须先卸载才可以继续后面的MySql安装。
(1)查找一起是否安装mariadb-libs
图2-1 查看系统是否存在mariadb-libs
(2)卸载mariadb-libs并验证是否卸载干净
图2-2 正在卸载mariadb-libs(注意:是el7,不是e17)
图2-3 卸载完成
2、卸载原有的MySQL
(1)查看以前是否安装了MySQL
[root@iz2zejf0fjkrgxcfmkx58fz ~]# rpm -qa | grep -i mysql
如果没有数据显示,说明没有安装MySQL程序,请直接看“四、安装MySQL”;
如果有数据显示,说明安装了MySQL程序。那我们应该要彻底删除原来的MySQL程序,才能安装新的MySQL程序。具体操作如下:
(2)停止以前的MySQL服务
[root@iz2zejf0fjkrgxcfmkx58fz ~]# service mysql stop
或者
[root@iz2zejf0fjkrgxcfmkx58fz ~]# ps -A | grep mysql //会显示进程号,假如是3306
[root@iz2zejf0fjkrgxcfmkx58fz ~]# kill -9 进程号 //kill -9 3306
(3)删除以前安装的MySQL
[root@iz2zejf0fjkrgxcfmkx58fz ~]# rpm -ve 文件名称 例如:rpm -ve MySQL-server-5.6.24-1.linux_glibc2.5.x86_64
[root@iz2zejf0fjkrgxcfmkx58fz ~]# rpm -ve 文件名称 例如:rpm -ve MySQL-client-5.6.24-1.linux_glibc2.5.x86_64
(4)查找以前的安装的MySQL的目录、并删除以前安装的MySQL的文件和库
[root@iz2zejf0fjkrgxcfmkx58fz ~]# find / -name mysql
【查找结果如下:以下目录是我复制原创作者的目录、有可能咱们的目录不一样、不过没关系、按照查找出来的目录删除即可。】
[root@iz2zejf0fjkrgxcfmkx58fz ~]# find / -name mysql
/var/lib/mysql
/usr/lib64/mysql
/usr/local/mysql
/usr/local/mysql/data/mysql
【删除对应的目录】
[root@iz2zejf0fjkrgxcfmkx58fz ~]# rm -rf /var/lib/mysql
[root@iz2zejf0fjkrgxcfmkx58fz ~]# rm -rf /usr/lib64/mysql
[root@iz2zejf0fjkrgxcfmkx58fz ~]# rm -rf /usr/local/mysql
【删除配置文档】
[root@iz2zejf0fjkrgxcfmkx58fz ~]# rm -rf /etc/my.cnf
(5)再次查找系统是否安装了MySQL(就是检查是否删除干净)
[root@iz2zejf0fjkrgxcfmkx58fz ~]# rpm -qa | grep -i mysql
【无结果,说明已经卸载彻底、接下来直接安装mysql 即可】
四、安装MySQL
1、安装所需的小环境
下面这些环境可以直接在CentOS7里面输入命令下载
[root@iz2zejf0fjkrgxcfmkx58fz ~]# yum -y install make bison-devel ncures-devel libaio
[root@iz2zejf0fjkrgxcfmkx58fz ~]# yum -y install libaio libaio-devel
[root@iz2zejf0fjkrgxcfmkx58fz ~]# yum -y install perl-Data-Dumper
[root@iz2zejf0fjkrgxcfmkx58fz ~]# yum -y install net-tools
2、安装bison
Bison是一种通用解析器生成器,它将带注释的上下文无关文法转换为使用LALR(1)解析器表的确定性LR或广义LR(GLR)解析器 。作为一项实验性功能,Bison还可以生成IELR(1)或规范的LR(1)解析器表。一旦您精通Bison,就可以使用它来开发各种语言解析器,从用于简单台式计算器的语言解析器到复杂的编程语言。
官网下载链接:下载链接
图3-1 使用镜像下载
图3-2 下载自己想要的版本
[root@iz2zejf0fjkrgxcfmkx58fz ~]# tar zxvf bison-2.5.1.tar.gz
[root@iz2zejf0fjkrgxcfmkx58fz ~]# cd bison-2.5.1
[root@iz2zejf0fjkrgxcfmkx58fz bison-2.5.1]# ./configure
[root@iz2zejf0fjkrgxcfmkx58fz bison-2.5.1]# make
[root@iz2zejf0fjkrgxcfmkx58fz bison-2.5.1]# make install
3、安装gcc -c++
[root@iz2zejf0fjkrgxcfmkx58fz ~]# yum -y install gcc gcc-c++ autoconf automake zlib* libxml* ncurses-devel libmcrypt* libtool* cmake
4、安装cmake
CMake是旨在构建,测试和打包软件的开源,跨平台工具系列。CMake用于使用简单平台和独立于编译器的配置文件来控制软件编译过程,并生成可在您选择的编译器环境中使用的本机makefile和工作区。CMake工具套件是由Kitware创建的,旨在满足ITK和VTK等开源项目对功能强大的跨平台构建环境的需求。
官网下载地址:下载地址
图3-3 官网首页
图3-4 下载自己想要的版本
[root@iz2zejf0fjkrgxcfmkx58fz ~]# tar zxvf cmake-3.15.5.tar.gz
[root@iz2zejf0fjkrgxcfmkx58fz ~]# cd cmake-3.15.5
[root@iz2zejf0fjkrgxcfmkx58fz cmake-3.15.5]# ./configure
[root@iz2zejf0fjkrgxcfmkx58fz cmake-3.15.5]# make
[root@iz2zejf0fjkrgxcfmkx58fz cmake-3.15.5]# make install
5、安装ncurses
官网下载地址:下载地址
图3-5 选择下载的路径
图3-6 下载自己想要的版本
[root@iz2zejf0fjkrgxcfmkx58fz ~]# tar zxvf ncurses-5.8.tar.gz
[root@iz2zejf0fjkrgxcfmkx58fz ~]# cd ncurses-5.8
[root@iz2zejf0fjkrgxcfmkx58fz ~]# ./configure
[root@iz2zejf0fjkrgxcfmkx58fz ~]# make
[root@iz2zejf0fjkrgxcfmkx58fz ~]# make install
6、解压前面下载的MySQL安装包
[root@iz2zejf0fjkrgxcfmkx58fz ~]# tar -zxvf mysql-5.6.46.tar.gz
7、编译安装
在此之前,在安装一个环境
[root@iz2zejf0fjkrgxcfmkx58fz ~]# yum install openssl-devel
[root@iz2zejf0fjkrgxcfmkx58fz ~]# cd mysql-5.6.46
[root@iz2zejf0fjkrgxcfmkx58fz mysql-5.6.46]# cmake \-DCMAKE_INSTALL_PREFIX=/usr/local/mysql56 -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc/my.cnf -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/tmp/mysqld.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
- -DCMAKE_INSTALL_PREFIX=/usr/local/mysql56 #安装路径
- -DMYSQL_DATADIR=/usr/local/mysql/data #数据文件存放位置
- -DSYSCONFDIR=/etc/my.cnf #my.cnf存放路径
- -DWITH_MYISAM_STORAGE_ENGINE=1 #支持MyIASM引擎
- -DWITH_INNOBASE_STORAGE_ENGINE=1 #支持InnoDB引擎
- -DWITH_MEMORY_STORAGE_ENGINE=1 #支持Memory引擎
- -DWITH_READLINE=1 #快捷键功能
- -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock #连接数据库socket路径
- -DMYSQL_TCP_PORT=3306 #默认端口
- -DENABLED_LOCAL_INFILE=1 #允许从本地导入数据
- -DWITH_PARTITION_STORAGE_ENGINE=1 #安装支持数据库分区
- -DEXTRA_CHARSETS=all #安装所有的字符集
- -DDEFAULT_CHARSET=utf8 #默认字符UTF-8
- -DDEFAULT_COLLATION=utf8_general_ci #默认排序规则
[root@iz2zejf0fjkrgxcfmkx58fz mysql-5.6.46]# make && make install
到此…MySQL安装完成。深呼一口气,恭喜你,完成了一大半,还差最后一点点配置。
8、配置MySQL
(1)检查系统是否已经有MySQL用户,如果没有则创建
[root@iz2zejf0fjkrgxcfmkx58fz mysql-5.6.46]# cat /etc/passwd | grep mysql
[root@iz2zejf0fjkrgxcfmkx58fz mysql-5.6.46]# cat /etc/group | grep mysql
(2)创建MySQL用户
[root@iz2zejf0fjkrgxcfmkx58fz mysql-5.6.46]# groupadd mysql
[root@iz2zejf0fjkrgxcfmkx58fz mysql-5.6.46]# useradd -g mysql mysql
(3)修改权限
[root@iz2zejf0fjkrgxcfmkx58fz mysql-5.6.46]# chown -R mysql:mysql /usr/local/mysql56
至此,配置完成
(4)完成后,继续下面的操作
#切换到mysql目录
[root@iz2zejf0fjkrgxcfmkx58fz mysql-5.6.46]# cd /usr/local/mysql56
#这里最后是有个.的大家要注意# 为了安全安装完成后请修改权限给root用户
[root@iz2zejf0fjkrgxcfmkx58fz mysql56]# chown -R mysql:mysql .
#先进行这一步再做如下权限的修改
[root@iz2zejf0fjkrgxcfmkx58fz mysql56]# scripts/mysql_install_db --user=mysql
#将权限设置给root用户,并设置给mysql组, 取消其他用户的读写执行权限,仅留给mysql "rx"读执行权限,其他用户无任何权限
[root@iz2zejf0fjkrgxcfmkx58fz mysql56]# chown -R root:mysql .
#数据库存放目录设置成mysql用户mysql组
[root@iz2zejf0fjkrgxcfmkx58fz mysql56]# chown -R mysql:mysql ./data
#赋予读写执行权限,其他用户权限一律删除仅给mysql用户权限
[root@iz2zejf0fjkrgxcfmkx58fz mysql56]# chown -R ug+rwx .
(5)将mysqld的配置文件拷贝到/etc
#我按照教程书写,发现无法把内容复制到指定的文件。后面我根据在windows上安装Mysql的经验,想起这里的目的是把my-default.cnf文件里面的内容拷贝到一份到/etc/my.cnf中,当然,此时my.cnf这个文件还本不存在
[root@iz2zejf0fjkrgxcfmkx58fz /]# cp support-files/my-default.cnf /etc/my.cnf
#我自己写的命令
#1.查看my-default.cnf文件在哪
[root@iz2zejf0fjkrgxcfmkx58fz etc]# find / -name 'my-default.cnf'
/usr/local/mysql56/support-files/my-default.cnf
/root/mysql-5.6.46/support-files/my-default.cnf
#2.用另外一个命令完成拷贝
[root@iz2zejf0fjkrgxcfmkx58fz support-files]# cat /usr/local/mysql56/support-files/my-default.cnf >> /etc/my.cnf
#进入my.cnf文件,在里面添加下面的内容:
user=mysql
datadir=/usr/local/mysql/data
default-storage-engine=MyISAM
好啦,现在为止,Mysql算是配置完成98%了。下面我们再缝缝补补,做一些启动和快捷操作。
五、验证
1、启动数据库
#还是在/usr/local/mysql56目录下
[root@iz2zejf0fjkrgxcfmkx58fz mysql56]# cp support-files/mysql.server /etc/init.d/mysql
[root@iz2zejf0fjkrgxcfmkx58fz mysql56]# service mysql start
2、修改root密码
[root@iz2zejf0fjkrgxcfmkx58fz /]# chkconfig --add mysql
#修改密码 cd切换到mysql所在目录
[root@iz2zejf0fjkrgxcfmkx58fz /]# cd /usr/local/mysql56
#设置新的密码
[root@iz2zejf0fjkrgxcfmkx58fz mysql56]# ./bin/mysqladmin -u root password
效果如下:
图4-1 成功安装
六、安装JDK1.8
JDK8下载地址:下载地址
图5-1 下载自己想要的版本
1、解压JDK
[root@iz2zejf0fjkrgxcfmkx58fz ~]# tar -zxvf jdk-8u231-linux-x64.tar.gz
2、编辑配置文件
[root@iz2zejf0fjkrgxcfmkx58fz ~]# vim /etc/profile
在配置文件后添加下面的内容(我的是直接安装在root目录,所以路径直接写root)
export JAVA_HOME="/root/jdk1.8.0_231"
export PATH="$JAVA_HOME/bin:$PATH"
刷新配置文件
[root@iz2zejf0fjkrgxcfmkx58fz ~]# source /etc/profile
3、验证
[root@iz2zejf0fjkrgxcfmkx58fz ~]# java -version
图5-2 安装JDK成功
七、安装Tomcat8
Tomcat8下载地址:下载网址
图6-1 下载自己想要的版本
1、解压
[root@iz2zejf0fjkrgxcfmkx58fz ~]# tar -zxvf apache-tomcat-8.5.47.tar.gz
2、进入bin目录开启服务
[root@iz2zejf0fjkrgxcfmkx58fz ~]# cd apache-tomcat-8.5.47/bin/
[root@iz2zejf0fjkrgxcfmkx58fz bin]# ./startup.sh
#关闭服务
[root@iz2zejf0fjkrgxcfmkx58fz bin]# ./shutdown.sh
3、结果验证
图6-2 服务开启成功