mysql 安装脚本(根据需求添加相对应路径交互,大标题为注释)

这是一个bash脚本,用于在Linux系统中自动化安装MySQL。它包括卸载旧版本,安装依赖,解压并编译MySQL源码,设置权限,生成配置文件,启动服务以及设置开机启动等步骤。
摘要由CSDN通过智能技术生成

#!/bin/bash

卸载自带 boost包

yum -y remove boost-* &> /dev/null

解包

read -p “请输入要安装的mysql包,以及绝对路径:” MQ PH
rpm -ivh P H PH PHMQ
cd ${PH}rpmbuild/SOURCES/

install bzip2

rpm -q bzip2
if [ $? -eq 0 ];then
echo “bzip2 is ready”
else
yum install -y bzip2 &> /dev/null
echo “bzip2安装成功”

fi

解压 boost包(可以搞个read)

cd ${PH}rpmbuild/SOURCES/
tar -jxvf boost_1_59_0.tar.bz2 -C /root/ &> /dev/null

删除本机自带的mysql相关文件

yum -y remove mysql* &> /dev/null
echo “删除已存在的mysql”
yum -y remove mariadb* &> /dev/null
echo “删除已存在的mariadb”

install mysql

安装mysql依赖包

yum install -y cmake make gcc gcc-c++ bison ncurses ncurses-devel &> /dev/null

添加mysql用户和用户组(可以改成交互式)

groupadd mysql
useradd -M -s /sbin/nologin -r -g mysql mysql

创建mysql数据库存放位置并修改目录权限(改成交互式,并运用上面交互结果)

mkdir -p /data/mysql/{data,log}
chown -R mysql:mysql /data/mysql

解压源码包 (可以吧cd改成函数)

cd ${PH}rpmbuild/SOURCES/
tar -zxvf mysql-5.7.26.tar.gz -C /root/

预编译

cd ${PH}mysql-5.7.26
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_DATADIR=/data/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=/usr/local/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
-DDOWNLOAD_BOOST=1
-DWITH_BOOST=/root/boost_1_59_0

if [ $? -eq 0 ];then
echo -e “\033[32m 预编译成功\033[0m”
else
echo -e “\033[31m 预编译失败\033[0m”
exit 20
fi

编译 安装

make -j $( grep processor /proc/cpuinfo | wc -l)

if [ $? -eq 0 ];then
echo -e “\033[32m 编译成功\033[0m”
else
echo -e “\033[31m 编译失败\033[0m”
exit 21
fi

make install &> /dev/null

if [ $? -eq 0 ];then
echo -e “\033[32m 安装成功\033[0m”
else
echo -e “\033[31m 安装失败\033[0m”
exit 22
fi

改mysql目录权限

chown -R mysql:mysql /usr/local/mysql/

生成my.cnf配置文件

mv /etc/my.cnf{,.bak} &> /dev/null
echo “[mysqld]” >> /etc/my.cnf
echo “basedir=/usr/local/mysql” >> /etc/my.cnf
echo “datadir=/data/mysql/data” >> /etc/my.cnf
echo “port=3306” >> /etc/my.cnf
echo “socket=/usr/local/mysql/mysql.sock” >> /etc/my.cnf
echo “symbolic-links=0” >> /etc/my.cnf
echo “character-set-server=utf8” >> /etc/my.cnf
echo “log-error=/data/mysql/log/mysqld.log” >> /etc/my.cnf
echo “pid-file=/usr/local/mysql/mysqld.pid” >> /etc/my.cnf

生成服务启动脚本

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld

加mysqld开机自启动

chkconfig --add mysqld
chkconfig mysqld on

2.2.16、 初始化数据库

/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql
–basedir=/usr/local/mysql --datadir=/data/mysql/data

启动服务

/etc/init.d/mysqld start

添加环境变量

echo “export MYSQL_HOME=/usr/local/mysql” >> /etc/profile
echo “export PATH= P A T H : PATH: PATH:MYSQL_HOME/bin” >> /etc/profile
source /etc/profile

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值