mysql源码安装脚本

该脚本适用于装任何版本的mysql源码包需要到mysql官网复制下载链接,并附带自动更改初始化密码功能,一键进入mysql

进入官网找到你要下载的版本,右键单击红圈位置复制链接

脚本正文

#!/bin/bash

read -p "mysql密码" passwd1

read -p "mysql下载链接" download1

package1="cmake make gcc gcc-c++ bison ncurses ncurses-devel openssl openssl-devel"

source1="./rpmbuild/SOURCES/"

src1="/usr/local/src/"

proce="$( grep processor /proc/cpuinfo | wc -l)"

c1=("挂载镜像" "下载源" "解压安装包" "赋权" "预编译" "编译" "安装" "开启mysql" "登录mysql")

d1 () {

echo -e "\e[32m#####################################\e[0m"

}

mount1 () {

echo ${c1[0]}

echo "[centos7]

name=CentOS7

baseurl=file:///mnt/cdrom

enable=1

gpgcheck=0

" > /etc/yum.repos.d/centos7.repo

mount /dev/sr0 /mnt/cdrom &> /dev/null

df1=$(df -h|grep /dev/sr0|wc -l)

[ $df1 == 1 ] && echo "挂载成功" || echo "挂载失败" &> /dev/null

}

download2 () {

echo ${c1[1]}

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

find ./ -name mysql-community* -exec rm -rf {} \; &> /dev/null

wget $download1 &> /dev/null

find ./ -name mysql-community* -exec rpm -ivh {} \; &> /dev/null

}

zip1 () {

echo ${c1[2]}

yum install -y bzip2 &> /dev/null

mysql_version="mysql-$(find ./ -name mysql-community*|cut -d - -f 3)"

cd $source1

boost_version="$(find ./ -name "boost*"|awk -F "." '{print $2}'|cut -d / -f 2)"

tar -jxvf $boost_version.tar.bz2 -C $src1 &> /dev/null

tar -zxvf $mysql_version.tar.gz -C $src1 &> /dev/null

}

empower () {

echo ${c1[3]}

yum install -y $package1 &> /dev/null

useradd -M -s /sbin/nologin mysql

damysql=/data/mysql

lomysql=/usr/local/mysql

mkdir -p $damysql/{data,log}

chown -R mysql:mysql $damysql

}

configure1 () {

echo ${c1[4]}

boost_version="$(find ./ -name "boost*"|awk -F "." '{print $2}'|cut -d / -f 2)"

cd -

mysql_version="mysql-$(find ./ -name mysql-community*|cut -d - -f 3)"

cd $src1$mysql_version/

cmake -DCMAKE_INSTALL_PREFIX=$lomysql \

-DMYSQL_DATADIR=$damysql/data \

-DSYSCONFDIR=/etc \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_MEMORY_STORAGE_ENGINE=1 \

-DWITH_READLINE=1 \

-DMYSQL_UNIX_ADDR=$lomysql/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=$src1$boost_version &> /dev/null

[ $? -eq 0 ] && echo "预编译成功" || "预编译失败"

}

complie1 () {

echo ${c1[5]}

make -j $proce &> /dev/null

[ $? -eq 0 ] && echo "编译成功" || "编译失败"

}

install1 () {

echo ${c1[6]}

make install &> /dev/null

[ $? -eq 0 ] && echo "安装成功" || "安装失败"

}

start1 () {

echo ${c1[7]}

chown -R mysql:mysql $lomysql/

mv /etc/my.cnf{,.bak}

echo "[mysqld]

basedir=$lomysql #mysql安装目录

datadir=$damysql/data #mysql数据存放目录

port=3306 #mysql监听端口

socket=$lomysql/mysql.sock #mysql.sock文件存放目录

symbolic-links=0 #关闭mysql的符号链接

character-set-server=utf8 #指定mysql的字符集为utf8

log-error=$damysql/log/mysqld.log #指定mysql的错误日志存放路径

pid-file=$lomysql/mysqld.pid #mysql的pid文件存放目录

" > /etc/my.cnf

cp $lomysql/support-files/mysql.server /etc/init.d/mysqld

chkconfig --add mysqld &> /dev/null

chkconfig mysqld on &> /dev/null

chkconfig --list mysqld &> /dev/null

$lomysql/bin/mysqld --initialize-insecure --user=mysql \

--basedir=$lomysql --datadir=$damysql/data &> /dev/null

/etc/init.d/mysqld start &> /dev/null

[ $(ps -ef|grep mysql|wc -l) -eq 1 ] && "mysql开启失败" || "mysql开启成功"

}

login () {

echo ${c1[8]}

ln -s $lomysql/bin/* /usr/bin/

mysqladmin -u root password "$passwd1" &> /dev/null

mysql -uroot -p$passwd1

}

d1

mount1

d1

download2

d1

zip1

d1

empower

d1

configure1

d1

complie1

d1

install1

d1

start1

d1

login

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值