一、软件环境
[root@localhost ~]# uname -r
3.10.0-862.el7.x86_64
[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
二、安装部署过程详解
-
MySQL安装3种方式:
1>rpm包安装
应用文件默认安装在/usr/local 目录下
2>源码编译
需要定制文件路径和参数
3> 二进制免编译方式
优点是可以指定文件安装路径,不存在依赖包问题 - 下载安装包到/usr/local/src
[root@localhost ~]# cd /usr/local/src/ [root@localhost src]# wget http://mirrors.163.com/MysqL/Downloads/mysql-5.6/mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz
- 解压tar安装包
[root@localhost src]# tar -zxvf mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz
查看解压过程是否存在报错
[root@localhost src]# echo $? 0
说明:返回0表示解压成功,否则解压失败
- 移动重命名,注意执行这条命令时,/usr/local/下面是没有MysqL目录的
[root@localhost src]# mv mysql-5.6.39-linux-glibc2.12-x86_64 /usr/local/MysqL
[root@localhost src]# ll
total 321176
-rw-r--r-- 1 root root 328882304 Dec 9 2017 mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz
[root@localhost src]# ll /usr/local/MysqL/
5.创建MysqL用户和用户组
[root@localhost src]# cd /usr/local/MysqL/
[root@localhost MysqL]# useradd MysqL
[root@localhost MysqL]# mkdir /data/MysqL
7.初始化数据库
[root@localhost MysqL]# ./scripts/MysqL_install_db --user=MysqL --datadir=/date/MysqL
Fatal error: please install the following Perl modules before executing ./scripts/MysqL_install_db:
Data::Dumper
报错分析:
初始化MysqL数据库报这个错,是因为缺少Data::Dumper这个模块
解决办法1:安装aotuconf库
yum -y install autoconf
[root@localhost MysqL]# yum list | grep perl |grep -i dumper
出现4个Dumper相关的软件包,如果在不知道缺少哪个包的前提下,建议依次yum安装每个软件包,然后再执行数据库初始化命令看返回结果再来执行数据库初始化命令,可以从两个方面判断数据库初始化是否成功
a.执行数据库初始化过程出现两个OK
b.执行echo $?返回值是否为0
说明:echo $?的作用是检查上一条命令执行状态,成功返回0,失败返回非0
[root@localhost MysqL]# cp ./support-files/my-default.cnf /etc/my.cnf
编辑/etc/my.cnf datadir = /data/MysqL socket = /tmp/MysqL.sock
9.把MysqL5.6数据库的启动脚本移动到/etc/init.d/MysqLd
编辑数据库启动脚本/etc/init.d/MysqLd,修改
basedir=
datadir=
参数为
basedir=/usr/local/MysqL
datadir=/data/MysqL
在centos7.5上,如果想要把MysqL数据库启动脚本加入到系统开机启动,执行下面命令
10.启动MysqL数据库,执行
[root@localhost MysqL]# service MysqLd start
Starting MysqL.Logging to '/data/MysqL/localhost.localdomain.err'.
................. SUCCESS!
或者
[root@localhost MysqL]# /etc/init.d/MysqLd restart
Shutting down MysqL.. SUCCESS!
Starting MysqL. SUCCESS!
[root@localhost MysqL]#
此时可查看到MysqL数据库进程
[root@localhost MysqL]# ps -ef |grep MysqLd
查看数据库监控的端口为3306
[root@localhost MysqL]# netstat -nlpt
11.从命令行启动MysqL服务
[root@localhost MysqL]# /usr/local/MysqL/bin/MysqLd_safe --datadir=/data/MysqL --pid-file=/data/MysqL/localhost.localdomain.pid &
[root@localhost ~]# ps -ef |grep MysqLd
root 20630 17325 0 02:09 pts/0 00:00:00 /bin/sh /usr/local/MysqL/bin/MysqLd_safe --datadir=/data/MysqL --pid-file=/data/MysqL/localhost.localdomain.pid
MysqL 20767 20630 0 02:09 pts/0 00:00:00 /usr/local/MysqL/bin/MysqLd --basedir=/usr/local/MysqL --datadir=/data/MysqL --plugin-dir=/usr/local/MysqL/lib/plugin --user=MysqL --log-error=localhost.localdomain.err --pid-file=/data/MysqL/localhost.localdomain.pid --socket=/tmp/MysqL.sock
root 20861 20802 0 02:10 pts/1 00:00:00 grep --color=auto MysqLd