sh mysql安装

#!/bin/bash
#by sunbeamboy
#File Name:auto_install_mysql.sh
#2021-02-22 23:17:46
#############################
soft_dir="pwd"
mysql_tar="mysql-5.5.60.tar.gz"
mysql_install_path="/usr/local/mysql55"
mysql_data_install_path="/usr/local/data/mysql55"
mysql_down_path="http://mirrors.163.com/mysql/Downloads/MySQL-5.5/mysql-5.5.60.tar.gz"
COLOR="echo -e \033[01;31m"
END='\033[0m'
install(){
if [ ! -e $mysql_tar ];then
$COLOR"缺少${mysql_tar}安装文件,重新下载请等待…………"$END
wget $mysql_down_path
elif [ -e $mysql_install_path ];then
$COLOR"数据库已经存在,退出安装"$END
exit
else
return
fi
$COLOR"开始建立MYSQL用户..."$END
sleep 1
useradd -s /sbin/nologin mysql -M
$COLOR"开始安装依赖包..."$END
sleep 2
yum install -y gcc ncurses-devel libaio bison gcc-c++ git cmake ncurses-devel openssl openssl-devel cmake
mkdir -p $mysql_data_install_path
mkdir -p $mysql_install_path
wget $mysql_down_path
tar -zxvf $mysql_tar
$COLOR"开始预编译MYSQL..."$END
sleep 3
cd mysql-5.5.60
cmake . -DCMAKE_INSTALL_PREFIX=$mysql_install_path \
-DMYSQL_UNIX_ADDR=$mysql_install_path/mysql.sock \
-DMYSQL_DATADIR=$mysql_data_install_path \
-DSYSCONFDIR=$mysql_install_path \
-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 -j cat /proc/cpuinfo | grep processor| wc -l && make install
mkdir -p $mysql_install_path/log/
touch $mysql_install_path/log/mysql.log
cp support-files/my-large.cnf $mysql_install_path/my.cnf
cp support-files/mysql.server /etc/init.d/mysqld
chown -R mysql. $mysql_data_install_path
chown -R mysql. $mysql_install_path
chmod +x /etc/init.d/mysqld
cat << EOF > $mysql_install_path/my.cnf
[client]
port = 3306
socket = /usr/local/mysql55/mysql.sock
[mysqld]
datadir = /usr/local/data/mysql55
port = 3306
socket = /usr/local/mysql55/mysql.sock
skip-external-locking
key_buffer_size = 256M
max_allowed_packet = 1M
table_open_cache = 256
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 16M
thread_concurrency = 8
log-bin=mysql-bin
binlog_format=mixed
server-id = 1
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
[myisamchk]
key_buffer_size = 128M
sort_buffer_size = 128M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
[mysqld_safe]
log-error = /usr/local/mysql55/log/mysql.log
EOF
/usr/local/mysql55/scripts/mysql_install_db --user=mysql --datadir=/usr/local/data/mysql55 --basedir=/usr/local/mysql55
#import environment
cat << EOF >> ~/.bash_profile
export PATH=/usr/local/mysql55/bin:$PATH
EOF
$COLOR"MYSQL_数据库安装完成..."$END
sleep 2
$COLOR"启动MYSQL数据库..."$END
sleep 1
/etc/init.d/mysqld start
systemctl enable mysqld
}

uninstall(){
/etc/init.d/mysqld stop
rm -rf $mysql_install_path
rm -rf $mysql_data_install_path/*
$COLOR"MYSQL_数据库卸载完成..."$END
sleep 2
}

read -p "Please confirm whether to install mysql(yes) and uninstall-mysql(no),yes or no?" INPUT
if [ $INPUT == "yes" -o $INPUT == "y" ];then
install
else
uninstall
fi

猜你喜欢

转载自blog.51cto.com/1585654/2648078
.sh
SH