MYSQL源码安装&并且添加系统服务脚本&SHELL编程实战LNMP源码部署脚本
1、编写MYSQL源码安装&并且添加系统服务脚本
mysql_yuanma_install_v2.sh
#!/bin/bash
#2024年01月25日21:05:03
#auto install mysql
#by author lqc
#################################################
MYSQL_VER="5.5.60"
MYSQL_YUM="yum install -y"
MYSQL_DIR="/usr/local/mysql55"
MYSQL_DATA="/data/mysql55"
MYSQL_SRC="mysql-${MYSQL_VER}"
MYSQL_SOFT="mysql-${MYSQL_VER}.tar.gz"
MYSQL_URL="http://mirrors.163.com/mysql/Downloads/MySQL-5.5"
#安装依赖包
$MYSQL_YUM wget gcc gcc-c++ gzip tar libaio bison git cmake ncurses ncurses-devel openssl openssl-devel
#进入/usr/src 目录
cd /usr/src
#下载mysql5.5.60程序包、解压缩,并进入到解压缩后的目录,执行cmake预编译
wget -c $MYSQL_URL/$MYSQL_SOFT
tar -zvxf $MYSQL_SOFT
cd $MYSQL_SRC
cmake . -DCMAKE_INSTALL_PREFIX=$MYSQL_DIR/ \
-DMYSQL_UNIX_ADDR=$MYSQL_DATA/mysql.sock \
-DMYSQL_DATADIR=$MYSQL_DATA \
-DSYSCONFDIR=$MYSQL_DIR \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306 \
-DWITH_XTRADB_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EXTRA_CHARSETS=1 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DWITH_BIG_TABLES=1 \
-DWITH_DEBUG=0
#编译、安装
make -j4
make -j4 install
#创建mysql数据库安装路径
mkdir -p $MYSQL_DIR
#创建mysql数据库目录
mkdir -p $MYSQL_DATA
touch $MYSQL_DATA/mysql.log
#创建mysql用户,并授权
useradd -s /sbin/nologin mysql -M
chown -R mysql. $MYSQL_DATA
#拷贝mysql.server 配置文件到mysql安装目录下,并改名为my.cnf,也拷贝到init.d下
cp support-files/mysql.server $MYSQL_DIR/my.cnf
cp support-files/mysql.server /etc/init.d/mysqld
# 准备配置文件
cat > $MYSQL_DIR/my.cnf << EOF
[mysqld]
basedir=/usr/local/mysql55/
datadir=/data/mysql55/
port=3306
pid-file=/data/mysql55/mysql.pid
socket=/data/mysql55/mysql.sock
[mysqld_safe]
log-error=/data/mysql55/mysql.log
EOF
#数据库初始化
/usr/local/mysql55/scripts/mysql_install_db --user=mysql --datadir=/data/mysql55 --basedir=/usr/local/mysql55/
#添加环境变量,并是环境变量生效
echo "export PATH=/usr/local/mysql55/bin:$PATH" >> /etc/profile
source /etc/profile
#授权执行权限,设置开机启动
chmod +x /etc/init.d/mysqld
/etc/init.d/mysqld start
chkconfig --add mysqld
chkconfig --level 35 mysqld on
systemctl enable mysqld
setenforce 0
systemctl stop firewalld.service
netstat -nltp
ps -ef | grep mysqld
2、shell编程实战LNMP源码部署脚本
lnmp_yuanma_install_v2.sh
#!/bin/bash
#2024年01月25日21:05:03
#auto install lnmp
#by author lqc
################################################
MYSQL_VER="5.5.60"
YUM="yum install -y"
MYSQL_DIR="/usr/local/mysql55"
MYSQL_DATA="/data/mysql55"
MYSQL_SRC="mysql-${MYSQL_VER}"
MYSQL_SOFT="mysql-${MYSQL_VER}.tar.gz"
MYSQL_URL="http://mirrors.163.com/mysql/Downloads/MySQL-5.5"
NGX_VER="1.18.0"
NGX_DIR="/usr/local/nginx"
NGX_SRC="nginx-${NGX_VER}"
NGX_SOFT="nginx-${NGX_VER}.tar.gz"
NGX_URL=http://mirrors.sohu.com/nginx
NGX_ARGS="--user=www --group=www --with-http_stub_status_module"
PHP_VER="5.6.8"
PHP_DIR="/usr/local/php"
PHP_SRC="php-${PHP_VER}"
PHP_SOFT="php-${PHP_VER}.tar.gz"
PHP_URL="http://mirrors.sohu.com/php"
COLOR="echo -e \\033[01;31m"
END='\033[0m'
#install msyql
#安装依赖包
$COLOR"开始安装mysql..."$END
$YUM wget gcc gcc-c++ gzip tar libaio bison git cmake
$YUM ncurses ncurses-devel openssl openssl-devel pcre-devel zlib-devel
#进入/usr/src 目录
cd /usr/src
#下载mysql5.5.60程序包、解压缩,并进入到解压缩后的目录,执行cmake预编译
wget -c $MYSQL_URL/$MYSQL_SOFT
tar -zvxf $MYSQL_SOFT
cd $MYSQL_SRC
cmake . -DCMAKE_INSTALL_PREFIX=$MYSQL_DIR \
-DMYSQL_UNIX_ADDR=$MYSQL_DATA/mysql.sock \
-DMYSQL_DATADIR=$MYSQL_DATA \
-DSYSCONFDIR=$MYSQL_DIR \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306 \
-DWITH_XTRADB_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EXTRA_CHARSETS=1 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DWITH_BIG_TABLES=1 \
-DWITH_DEBUG=0
#编译、安装
make -j4
make -j4 install
#创建mysql数据库安装路径
mkdir -p $MYSQL_DIR
#创建mysql数据库目录
mkdir -p $MYSQL_DATA
touch $MYSQL_DATA/mysql.log
#创建mysql用户,并授权
useradd -s /sbin/nologin mysql -M
chown -R mysql. $MYSQL_DATA
#拷贝mysql.server 配置文件到mysql安装目录下,并改名为my.cnf,也拷贝到init.d下
cp support-files/mysql.server $MYSQL_DIR/my.cnf
cp support-files/mysql.server /etc/init.d/mysqld
# 准备配置文件
cat > $MYSQL_DIR/my.cnf << EOF
[mysqld]
basedir=/usr/local/mysql55/
datadir=/data/mysql55/
port=3306
pid-file=/data/mysql55/mysql.pid
socket=/data/mysql55/mysql.sock
[mysqld_safe]
log-error=/data/mysql55/mysql.log
EOF
#数据库初始化
/usr/local/mysql55/scripts/mysql_install_db --user=mysql --datadir=/data/mysql55 --basedir=/usr/local/mysql55/
#添加环境变量,并使环境变量生效
echo "export PATH=/usr/local/mysql55/bin:$PATH" >> /etc/profile
source /etc/profile
#授权执行权限,设置开机启动
chmod +x /etc/init.d/mysqld
/etc/init.d/mysqld start
chkconfig --add mysq
chkconfig --level 35 mysqld on
systemctl enable mysqld
netstat -nltp
$COLOR"MYSQL安装完成..."$END
#install nginx
#安装NGINX
$COLOR"开始安装Nginx..."$END
cd /usr/src
wget -c $NGX_URL/$NGX_SOFT
tar -zxvf $NGX_SOFT
cd $NGX_SRC
useradd -s /sbin/nologin www -M
./configure --prefix=$NGX_DIR $NGX_ARGS
make -j4
make -j4 install
$NGX_DIR/sbin/nginx
netstat -nltp
ps -ef |grep nginx
$COLOR"NGINX安装完成..."$END
#install php
#安装依赖包
$COLOR"开始安装php..."$END
$YUM gd curl curl-devel libjpeg libjpeg-devel libpng libpng-devel
$YUM freetype freetype-devel libxml2 libxml2-devel
cd /usr/src
wget -c $PHP_URL/$PHP_SOFT
tar -zxvf $PHP_SOFT
cd $PHP_SRC
./configure --prefix=$PHP_DIR \
--enable-fpm \
--enable-debug \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--enable-mbstring \
--with-curl \
--with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-config-file-path=$PHP_DIR/etc \
--with-zlib-dir
make -j4
make -j4 install
cp php.ini-development $PHP_DIR/etc/php-fpm.conf.ini
cp $PHP_DIR/etc/php-fpm.conf.default $PHP_DIR/etc/php-fpm.conf
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
/etc/init.d/php-fpm start
setenforce 0
systemctl stop firewalld.service
netstat -nltp
ps -ef | grep php
$COLOR"PHP安装完成..."$END