Linux环境部署Mysql
操作系统: Linux7
在linux系统中安装mysql的方式有很多:
- PRM包:安装方便,一台服务器只能安装一个版本
- 二进制:可以安装多个版本
- 源码安装:可以安装多个版本
现在开始安装
一、环境确认
1.操作系统
查看操作系统的版本:
cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)
2.防火墙
一定要关闭防火墙
查看防火墙命令:
systemctl status firewalld
关闭防火墙命令:
systemctl stop firewalld
3.selinux关闭
输入: sestatus
结果为: SELinux status: disabled
或者
输入: getenforce
结果为:
Disabled
#这二种结果都是关闭状态
linux系统中的selinux是默认开启的
我们如何关闭呢?
vi /etc/selinux/config
把这个SELINUX改为disabled
然后重启机器,selinux就永久关闭了
4.卸载mariadb
(centos7中自带mariadb,它会与mysql发起冲突,所以我们把它卸载了)
#先查看一下是否安装
rpm -qa | grep mariadb
mariadb-libs-5.5.52-1.el7.x86_64
#卸载
rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64
5.查看一下是否安装mysql
rpm -qa | grep -i mysql
现在环境都配置好了
二、安装部署
1.yum安装
yum -y install lrzsz wget perl-Digest-MDS
yum -y install numactl
yum -y install ncurses-devel openssl-devel bison gcc gcc-c++ make
2.添加用户及组
groupadd mysql
#方便我们后期管理
#用户加到组并指定根目录
useradd -g mysql -d /home/mysql mysql
3.下载mysql安装包
去官网下载mysql安装包 : mysql.com
①
②
③
④
⑤
下载好之后,通过xftp传到Linux系统中
4.解压安装包
找到你刚刚通过xftp传的mysql安装包,然后进行解压
tar -xvf mysql-8.0.27-1.el8.x86_64.rpm-bundle.tar
必须安装的四个包
授权
chown -R mysql:mysql /home/mysql/
5.安装
安装顺序:包之间相互依赖,所以必须注意安装顺序
- 先装 common
- 再装libs
- 再装client
- 最后装server
rpm -ivh mysql-community-common-8.0.27-1.el8.x86_64.rpm
rpm -ivh --force --nodeps mysql-community-libs-8.0.27-1.el8.x86_64.rpm
rpm -ivh --force --nodeps mysql-community-client-8.0.27-1.el8.x86_64.rpm
rpm -ivh --force --nodeps mysql-community-server-8.0.27-1.el8.x86_64.rpm
6.初始化
输入命令: mysqld --initialize
#它说找不到这个文件,说明版本低了
mysqld: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
我们要去网上下载openssl 1.1的版本 : https://www.openssl.org/source/
然后用xftp传到Linux系统中,然后在解压它
tar -xvf openssl-1.1.1m.tar.gz
如下图
#解压之后进入到里面去
cd openssl-1.1.1m
#查看一下它里面的目录
ls
#配置一下,把它放入到/usr/local/openssl这个目录
./config shared --openssldir=/usr/local/openssl --prefix=/usr/local/openssl
#编译
make && make install
#编译完成后,我们配置一下
echo "/usr/local/lib64/" >> /etc/ld.so.conf
#重载
ldconfig
#备份一下
mv /usr/bin/openssl /usr/bin/openssl.old
#链接
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
#重载一下
ldconfig -v
我们再来看一下openssl的版本号
我们再来初始化:(如下图)
下载:
wget http://ftp.de.debian.org/debian/pool/main/g/gcc-8/libstdc++6_8.3.0-6_amd64.deb
然后在输入这个命令:
ar -x libstdc++6_8.3.0-6_amd64.deb
然后在进行解压:
tar -xvf data.tar.xz
查找一下
find / -name “libstdc++*”
#剩下步骤
cp /root/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25 /usr/lib64/
ll /usr/lib64/libstd*
rm -rf /usr/lib64/libstdc++.so.6
ln -s /usr/lib64/libstdc++.so.6.0.25 /usr/lib64/libstdc++.so.6
进入到lib64这个目录:(如下图)
rm -rf /usr/lib64/libstdc++.so.6
ll /usr/lib64/libstd*
ln -s /usr/lib64/libstdc++.so.6.0.25 /usr/lib64/libstdc++.so.6
ll /usr/lib64/libstd*
strings /usr/lib64/libstdc++.so.6 | grep 'GLIBCXX'
strings /usr/lib64/libstdc++.so.6 | grep 'CXXABI'
我们再来初始化
#具体步骤:
wget http://ftp.gnu.org/gnu/glibc/glibc-2.28.tar.gz
tar -zxf glibc-2.28.tar.gz
cd glibc-2.28
mkdir build
cd build/
##centos 升级GCC编译器
yum -y install centos-release-scl
yum -y install devtoolset-8-gcc devtoolset-8-gcc-c++ devtoolset-8-binutils
#把这个包作为有效包
scl enable devtoolset-8 bash
#导入环境变量里面/etc/profile
echo "source /opt/rh/devtoolset-8/enable" >>/etc/profile
##升级make(如果网络不可达的话,就去网上下载一下,然后通过xftp传到Linux系统中)
wget http://ftp.gnu.org/gnu/make/make-4.2.tar.gz
#解压
tar -xzvf make-4.2.tar.gz
#进入到make-4.2
cd make-4.2
#升级
./configure
#编译
make
#安装
make install
#把原来的make删除
rm -rf /usr/bin/make
#复制
cp ./make /usr/bin/
make -v
#cd进入到glibc-2.28下面的 build目录
../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
#编译切安装(这里大概需要耐心等待十几分钟)
make && make install
tar -zxf glibc-2.28.tar.gz
tar -xzvf make-4.2.tar.gz
编译安装完成后,我们需要重启机器:
reboot
然后我们在进行初始化操作:
mysqld --initialize
查看当前服务是否启动:
#两种方式
ps -ef | grep mysql
systemctl status mysqld
我们来启动一下mysql,显示出错
具体步骤
#设置权限
chown mysql:mysql /var/lib/mysql -R
#开启mysql服务
systemctl start mysqld
#查看mysql服务是否开启
systemctl status mysqld
#设置开机自启
systemctl enable mysqld
#查看一下初始化之后的密码(待会我们会用到)
cat /var/log/mysqld.log | grep password
具体步骤
去网上下载一个 libncurses.so.6
libncurses.so.6的网盘链接:
https://pan.baidu.com/s/1MQoiKjuteGKMG3c2_QJO7Q?pwd=6yri
提取码:6yri
这样mysql就安装好了!