yum -y groupinstall "Development Tools"
#yum -y install ncurses ncurses-devel openssl-devel bison libgcrypt gcc gcc-c++ make cmake
yum_list="ncurses ncurses-devel openssl-devel bison libgcrypt gcc gcc-c++ make cmake"
info"软件包ncurses ncurses-devel openssl-devel bison libgcrypt gcc gcc-c++ make cmake即将被安装"
yum -y install $yum_list &>/dev/null
if [ $? -eq 0 ];then
echo "$yum_list 已经安装成功"
else
echo "$yum_list 未安装成功"
fi
source_code_package(){
read -p "请输入安装路径:" path
if [ ! -f ${path:-null} ];then
cd /opt/ && wget -c https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.24.tar.gz
echo "${path}"
else
echo "${path}"
fi
}
source_code_package
mysql_install(){
if mysql id &>/dev/null;then
success "mysql用户已存在"
else
groupadd mysql
useradd -M -g mysql -s /sbin/nologin mysql && \
success "mysql用户已成功创建"
fi
mkdir -p /usr/local/{datamysql,log,tmp}
chown -R mysql:mysql /usr/local/{data,mysql,og,tmp}
success "MySQL数据目录已创建完成"
}
mysql_install
tar xf mysql-boost-5.7.24.tar.gz
cd mysql-5.7.24
cmake . \
-DWITH_BOOST=boost/boost_1_59_0/ \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DSYSCONFDIR=/etc \
-DMYSQL_DATADIR=/usr/local/data \
-DINSTALL_MANDIR=/usr/share/man \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_UNIX_ADDR=/usr/local/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_SSL=system \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 && \
make && make install
if [ $? -eq 0 ];then
echo "部署成功"
else
echo "部署失败,请重新部署"
exit
fi
mysql_install_done(){
echo 'export PATH=$PATH:/usr/local/mysql/bin'>>/etc/profile
source /etc/profile
chown -R mysql.mysql /usr/local/mysql
cat >/etc/my.cnf <<EOF
[mysqld]
sbasedir = /usr/local/mysql
datadir = /usr/local/data
tmpdir = /usr/local/tmp
socket = /usr/local/tmp/mysql.sock
pid_file = /usr/local/tmp/mysqld.pid
log_error = /usr/local/log/mysql_error.log
slow_query_log_file = /usr/local/log/slow_warn.log
server_id = 1
user = mysql
port = 3306
bind-address = 0.0.0.0
character-set-server = utf8
default_storage_engine = InnoDB
EOF
cd /uer/local/mysql/bin
mysqld --defaults-file=/etc/my.cnf --initialize --user='mysql'
passwd=$(awk '/temporary password/(p=$NFJEND{print p)' /usr/local/log/mysql error.log)
nohop mysqld_safe --defaults-file=/etc/my.cnf &
}
mysql_install_done
#######函数见其他shell脚本##################